1 个不稳定版本
0.1.0 | 2024 年 3 月 6 日 |
---|
#2370 在 数据库接口
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 Initiatives 数据中心托管
使用 Catenary 服务器托管的 Kactus! https://kactus.catenarymaps.org/gtfsrt/?feed=[onestopid]&category=[category]
检查正常运行时间:https://stats.uptimerobot.com/xWx7zCm4p0
Onestop Feed ID 应该来自 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
毫秒,即 15 秒。
---timeout 10000
使用 Kyler 的“完美时间请求”算法运行特殊地铁程序
基本来说,通过在最后一个请求后几乎正好30秒发送请求来绕过429速率限制错误。
首先,将您的metrolink密钥粘贴到文件metrolink-key.txt
中
然后运行
cargo run --bin ingestmetrolink
对于贡献者
对于Unix用户,必须运行git config core.hooksPath .githooks
。没有这项操作,拉取请求将不会被合并。
目前没有为Windows用户提供选项。请暂时尝试WSL Ubuntu。我们正在努力添加这个功能。
依赖项
~66MB
~1.5M SLoC