1 个不稳定版本
0.1.0 | 2024 年 3 月 6 日 |
---|
#2400 在 数据库接口
430KB
4K SLoC
包含 (ZIP 文件, 18KB) transitland-atlas-vscode-extension-0.0.2.vsix
Kactus,一个 GTFS-rt 缓存
Kactus (Kyler 的自动缓存,用于交通统一和同步) 是一个用 Rust 编写的缓存服务器,并使用 Redis。它在 GPL 3.0 许可下开源。请提交问题和拉取请求!
由 Catenary Transit Initatives 数据中心托管
使用由 Catenary 服务器托管的 Kactus! https://kactus.catenarymaps.org/gtfsrt/?feed=[onestopid]&category=[category]
检查运行时间: https://stats.uptimerobot.com/xWx7zCm4p0
Onestop Feed IDs 应该来自 transitland/transitland-atlas 即 https://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
ms 即 15 秒。
---timeout 10000
运行使用 Kyler 的“请求在完美时间”算法的特殊地铁程序
基本上,这是通过在最后一个请求后几乎正好 30 秒后发送请求来绕过 429 速率限制错误。
首先,将您的metrolink密钥粘贴到文件 metrolink-key.txt
然后运行
cargo run --bin ingestmetrolink
对于贡献者
对于Unix用户,运行 git config core.hooksPath .githooks
是必需的。没有这个,请求将不会被合并。
目前Windows用户没有选项。请暂时尝试WSL Ubuntu。我们正在努力添加此功能。
依赖项
~50–69MB
~1.5M SLoC