fix(honcho/deriver): invoke via python -m so src.* imports resolve

The deriver script does "from src import crud" at the top, which only
works when the cwd / sys.path[0] is /app. Running the script by file
path (python /app/src/deriver/deriver.py) puts /app/src/deriver on
sys.path instead, and the import fails with ModuleNotFoundError.

Switch to python -m src.deriver.deriver and explicitly set
WorkingDir=/app so module resolution is deterministic across Podman
versions.

Discovered during the first deploy of the honcho role on lincoln —
honcho-api was healthy on :8000 but the deriver crash-looped 26 times
in two minutes.
This commit is contained in:
JARVIS
2026-05-30 23:28:52 -05:00
parent 4ed64ab91c
commit aabb3d5009

View File

@@ -20,7 +20,8 @@ Network={{ honcho_network_name }}
# Run the deriver script instead of the FastAPI server. The deriver # Run the deriver script instead of the FastAPI server. The deriver
# polls the queue and processes work in a loop. Number of concurrent # polls the queue and processes work in a loop. Number of concurrent
# workers controlled via DERIVER_WORKERS. # workers controlled via DERIVER_WORKERS.
Exec=/app/.venv/bin/python /app/src/deriver/deriver.py WorkingDir=/app
Exec=/app/.venv/bin/python -m src.deriver.deriver
# -- Database --------------------------------------------------------------- # -- Database ---------------------------------------------------------------
Environment=DB_CONNECTION_URI=postgresql+psycopg://{{ honcho_db_user }}:{{ honcho_db_password }}@{{ honcho_postgres_container_name }}:5432/{{ honcho_db_name }} Environment=DB_CONNECTION_URI=postgresql+psycopg://{{ honcho_db_user }}:{{ honcho_db_password }}@{{ honcho_postgres_container_name }}:5432/{{ honcho_db_name }}