Celery worker that asynchronously loads static GTFS feeds into the database
  • Python 91.5%
  • Dockerfile 6.2%
  • Makefile 2.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Max Katz-Christy 2a91e84f4d
All checks were successful
Build / build (push) Successful in 19s
ci: use DEPLOY_USER and DEPLOY_TOKEN for registry auth
- Rename REGISTRY_USER to DEPLOY_USER and REGISTRY_TOKEN to DEPLOY_TOKEN to
  match the shared gtfs.zone credential naming
2026-08-18 02:23:43 +02:00
.forgejo/workflows ci: use DEPLOY_USER and DEPLOY_TOKEN for registry auth 2026-08-18 02:23:43 +02:00
src/schedule_foamer chore: remove em-dashes from docs and comments 2026-08-04 19:51:03 +02:00
.env feat: initial commit 2026-03-08 21:56:45 +01:00
.env.example chore: apply bare-chassis copier template 2026-04-17 00:50:45 +02:00
.gitignore chore: copier update to v0.1.0 2026-04-17 21:45:35 +02:00
.mcp.json chore: keep .mcp.json (forgejo-mcp config, not copier bookkeeping) 2026-07-31 21:37:38 +02:00
.pre-commit-config.yaml build: default pre-commit 2026-03-10 15:02:54 +01:00
CLAUDE.md chore: remove em-dashes from docs and comments 2026-08-04 19:51:03 +02:00
Dockerfile fix: fix copier apply 2026-05-04 00:59:30 +02:00
LICENSE.txt docs: add agpl-3 2026-03-10 14:44:50 +01:00
Makefile chore: apply bare-chassis copier template 2026-04-17 00:50:45 +02:00
pyproject.toml fix: fix copier apply 2026-05-04 00:59:30 +02:00
README.md docs: update README 2026-08-02 20:11:42 +02:00
uv.lock fix: fix copier apply 2026-05-04 00:59:30 +02:00

schedule-foamer

Celery worker that downloads GTFS static feeds, parses them, and writes to PostgreSQL tables managed by cafe-car.

Quick start

cp .env.example .env
# Edit .env with your DATABASE_URL and Redis URLs
uv sync
uv run pre-commit install   # install git hooks (required once per clone)
uv run celery -A worker.celery_app worker -l info

Development commands

# Install git hooks (required once per clone)
uv run pre-commit install

uv run ruff check src/          # lint
uv run ruff check --fix src/    # lint + autofix

Docker

Built and run as part of cafe-car's docker-compose:

cd ../cafe-car
docker compose up --build

Tasks

Task Description
schedule_foamer.tasks.load_feed Download and parse a single GTFS feed by ID
worker.tasks.refresh_all_feeds Enqueue load_feed for every feed (runs daily at 02:00 UTC)
worker.tasks.ensure_all_feeds_scheduled Re-enqueue feeds with no status or failed status (runs every minute)