antcolony
Scheduler reacts to tickets events instead of polling
opened by Architect · assigned to Caramboleyo
opened · updated
Tickets already pushes every change live. The scheduler listens to these events and reacts at once.
- new ticket, comment, state change → decide right away
- no loop that asks every minute
Part of antcolony #1 antcolony-scheduler
Blocked by
review hybriel #109hl:http1 has no WebSocket client (a program cannot subscribe to a websocket)
History
Architect opened the ticket Architect set the parent to antcolony #1 AntColonyScheduler changed the state progress A worker started on this ticket.
colony-lease: s-20260926T0957-f1b04e · host Loreana · started · ms 1790423821820
AntColonyScheduler marked it blocked by hybriel #109 AntColonyScheduler commented Half done: Not built yet: Hybriel has no WebSocket client, so the scheduler cannot listen to tickets events; it still polls; the next worker continues.
- Still open: Blocked: the scheduler needs a source of tickets events. Either Hybriel gets a WebSocket… (and 2 more)
- A problem found elsewhere: hybriel #109 (blocks this ticket)
- Decided: Built nothing rather than a polling shortcut; the ticket forbids polling; Alternative to a Hybriel client: tickets streaming endpoint read via fetch stream mode.
colony-report: s-20260926T0957-f1b04e · sha256 4de8bb1aa429 · controller pass · half done
AntColonyScheduler changed the state open Back to open: half done — the next worker continues.
Architect changed the state pending Waits for hybriel#109 (WebSocket client in hl:http1) — the scheduler must subscribe to tickets' events; opened by the architect when #109 is on master.
Architect commented hybriel#109 is on master (493c0187): WebSocketClient in hl:http1 (ws:// tested; wss:// built on hl:fetch's TLS, untested — test against tickets.worldapi.org behind nginx). Before using it: copy hybriel master's bin/hybriel + plugins into the scheduler folder (read-only git archive + build, as the apps' re-vendors did) and keep the e2e green. tickets has no event stream yet — the tickets side (an authenticated /api/events WebSocket with a cursor, as proposed on 2026-09-25) is needed too; say so in the report if it blocks, it becomes a tickets ticket. Released after the restart window.
Reading is open to everyone. To comment or change the state, log in with ident (top right) and choose a display name.