Skip to content

fix(#196): add GATEWAY_URL to celery-worker - #42

Merged
man4ish merged 1 commit into
mainfrom
fix-196-gateway-url-celery-worker
Aug 12, 2026
Merged

fix(#196): add GATEWAY_URL to celery-worker#42
man4ish merged 1 commit into
mainfrom
fix-196-gateway-url-celery-worker

Conversation

@man4ish

@man4ish man4ish commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

workbench already had GATEWAY_URL: http://api-gateway:8080; celery-worker didn't. The 4 TES call sites fixed in omnibioai-workbench#196 (bio_agent's two _tes() factories, step_executor.py, workflow_runner/views.py, catalog/services.py) now read GATEWAY_URL exclusively to route through api-gateway instead of straight to TES.

Deliberately NOT repointing TES_BASE_URL/OMNIBIOAI_TES_URL

Traced every remaining reader of those two vars before touching them, and found two more that carry no bearer token at all:

Repointing the shared env vars would have silently 401'd those instead of leaving them at their pre-existing (bypassing, but working) behavior. TES_BASE_URL/OMNIBIOAI_TES_URL stay pointed at http://tes:8081 on both services.

Verification

Full end-to-end pass against the live stack, all 4 sites, real data (not just "no error thrown"):

Site Result
bio_agent _tes() Real submission (run_c5Wuj60HD8C1Zg), polled to state: COMPLETED, organization_id correctly stamped (357)
step_executor._run_tes() Real submission (run_OxYN5BkoilJShw), confirmed state: COMPLETED
workflow_runner._fetch_tes_logs() Fetched real log content back for the above run (not an error/warning fallback)
catalog.CatalogService._load_tes_servers() Real 8-server list returned via gateway, zero warnings, Authorization header confirmed present

Also found and fixed (separate PR, not bundled here) a pre-existing, unrelated TES run-store MySQL credentials gap that was blocking every real submission regardless of gateway routing -- see omnibioai-studio#41.

Not merging -- flagging for review.

🤖 Generated with Claude Code

workbench already had this; celery-worker didn't. The 4 TES call sites
fixed in omnibioai-workbench#196 (bio_agent's two factories,
step_executor.py, workflow_runner/views.py, catalog/services.py) now
read GATEWAY_URL exclusively to route through api-gateway instead of
straight to TES.

Deliberately NOT repointing TES_BASE_URL/OMNIBIOAI_TES_URL to the
gateway on either service: traced every remaining reader of those two
vars first, and found two more (bioquery_tasks.py's Celery flow, filed
as omnibioai-workbench#209; and a separate OMNIBIOAI_TES_PROFILES
routing subsystem in core/config.py, filed as #210) that carry no
bearer token at all. Repointing the shared env vars would have silently
401'd those instead of leaving them at their pre-existing (bypassing,
but working) behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@man4ish
man4ish merged commit f1819f1 into main Aug 12, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant