1 个不稳定版本

0.1.0 2024 年 3 月 6 日

#2370数据库接口


用于 catenary-backend

自定义许可AGPL-3.0

430KB
4K SLoC

Rust 2.5K SLoC // 0.0% comments Python 1K SLoC // 0.1% comments Shell 32 SLoC // 0.1% comments

包含 (ZIP 文件, 18KB) transitland-atlas-vscode-extension-0.0.2.vsix

Kactus,一个 GTFS-rt 缓存

Kactus (Kyler 的自动化缓存用于交通统一与同步) 是一个用 Rust 编写的缓存服务器,并使用 Redis。它在 GPL 3.0 许可下开源。请提交问题和拉取请求!

由 Catenary Transit Initiatives 数据中心托管

使用 Catenary 服务器托管的 Kactus! https://kactus.catenarymaps.org/gtfsrt/?feed=[onestopid]&category=[category]

检查正常运行时间:https://stats.uptimerobot.com/xWx7zCm4p0

Onestop Feed ID 应该来自 transitland/transitland-atlashttps://transit.land/

有效的分类包括

  • 车辆
  • 行程
  • 警报

如果分类不存在,API 将返回 404。

有效 URL 的示例 https://kactus.catenarymaps.org/gtfsrt/?feed=f-metro~losangeles~bus~rt&category=vehicles

了解有效的馈送和分类

有效馈送列表在 https://kactus.catenarymaps.org/gtfsrttimes

手动调试

https://kactus.catenarymaps.org/gtfsrtasjson/?feed=[onestopid]&category=[category]

或使用 Rust-info 的原始数据 https://kactus.catenarymaps.org/gtfsrtasjson/?feed=[onestopid]&category=[category]&raw=true 如此 https://kactus.catenarymaps.org/gtfsrtasjson/?feed=f-metro~losangeles~bus~rt&category=vehicles&raw=true

安装

安装依赖项

arch linux

sudo pacman -S redis protobuf-compiler; sudo systemctl start redis-server;

ubuntu

sudo apt install protobuf-compiler build-essential gcc pkg-config libssl-dev postgresql unzip wget g++
sudo systemctl start redis-server

运行摄取引擎

cargo run --bin ingestv2

安装 Systemd 服务

sudo cp systemd* /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now kactus* zotgtfsrt.service

urls.csv 配置

如果 auth_type 设置为 url,则 urls 中的任何 PASSWORD 实例都将替换为 auth_password 的值

摄取文件的选项

您可以指定要使用的 urls 文件,但默认情况下,它是 urls.csv

cargo run --bin ingestv2 -- --urls public-urls.csv

您可以添加 threads 参数

cargo run --bin ingestv2 -- --urls public-urls.csv --threads 10

您还可以添加以毫秒为单位的超时参数,默认为 15000 毫秒,即 15 秒。

---timeout 10000

基本来说,通过在最后一个请求后几乎正好30秒发送请求来绕过429速率限制错误。

首先,将您的metrolink密钥粘贴到文件metrolink-key.txt

然后运行

cargo run --bin ingestmetrolink

对于贡献者

对于Unix用户,必须运行git config core.hooksPath .githooks。没有这项操作,拉取请求将不会被合并。

目前没有为Windows用户提供选项。请暂时尝试WSL Ubuntu。我们正在努力添加这个功能。

依赖项

~66MB
~1.5M SLoC