Reply Pilot Worker
Tato stranka popisuje modul reply-pilot-worker/.
Role modulu
- background job container mimo request cyklus
- owner mailbox import workflow nad
reply-pilot-be - umi periodicky obnovovat Gmail watch a volitelne cist Gmail Pub/Sub Pull subscription nad
reply-pilot-be - umi drzet sjednoceny
gmail_synchronizerjob, ktery spojuje watch pull a mailbox import do jedne pipeline - umi periodicky spoustet CME company check nad
reply-pilot-be - umi kazdou minutu synchronizovat lokalni
task_jiracache podle Jiry presreply-pilot-be - umi volitelne periodicky spoustet AI klasifikaci prefiltrovanych requirement kandidatu nad
reply-pilot-be - umi volitelne periodicky spoustet finalni requirement agregaci nad
reply-pilot-be - pripravena hranice pro dalsi async joby a retry flow
Runtime
- worker nema verejne HTTP rozhrani na hostu
- worker vystavuje interni HTTP status API na sdilene Docker siti:
GET /healthzpro healthcheck kontejneruGET /statuszpro backend monitoring- lokalni heartbeat zustava v
data/worker-heartbeat.json;GET /healthzjeho cerstvost vyuziva pro self-check workeru - heartbeat ted krom
last_jobdrzi ijob_metricspo jednotlivych workerech a polerunning_jobs, aby slo delat jednoduchy ops report nad AI a evaluation pipeline - loguje do
reply-pilot-worker/logs/reply-pilot-worker.log - backend vola pres
BACKEND_API_BASE_URL, defaultnehttp://reply-pilot-be:5000 - worker uz neni jeden sekvencni loop nad vsemi joby; bezi jako maly scheduler v jednom procesu:
- scheduler thread jen hlida intervaly a job conflicts
- jednotlive joby se pousti ve vlastnich daemon vlaknech
- jeden job se nespusti podruhe, dokud jeho predchozi beh stale trva
gmail_synchronizerje jediny owner mailbox flow a drzi si vlastni stav rozbehnuteho importu
Aktualni job
gmail_synchronizerv kratkem intervalu volaPOST /api/mailbox/watch/pull; pokud notifikace ukazuji na zmenu mailboxu, zaqueueuje import- jednou za
WORKER_IMPORT_POLL_INTERVAL_SECONDSsigmail_synchronizerkontrolujeGET /api/mailbox/import/status - kdyz import je
QUEUEDneboRUNNING,gmail_synchronizerho po krocich dotahuje presPOST /api/mailbox/import/step - auto-queue importu zustava volitelne pres
WORKER_IMPORT_AUTO_QUEUE_ENABLED=true; kdyz je zapnute,gmail_synchronizerumi pravidelne frontovat import i bez watch notifikace - pro aktivni import
gmail_synchronizeropakovane volaPOST /api/mailbox/import/step, dokud backend nevratiCOMPLETEDneboFAILED POST /api/cme/company-check/runv konfigurovatelnem intervalu; backend si sam ridi queue i stale recheck firemPOST /api/jira/task-sync/runjednou zaWORKER_JIRA_TASK_SYNC_INTERVAL_SECONDS; backend si pamatuje Jiraupdatedwatermark vpublic.jira_sync_statea lokalnitask_jirabere jako cachePOST /api/requirements/ai-classify/runv konfigurovatelnem intervalu; default je vypnuty, aby se AI job nepoustel bez vedome konfiguracePOST /api/requirements/evaluate/runv konfigurovatelnem intervalu; typicky navazuje na deterministic a AI vrstvu a prepocitava finalni company atributy- backend pri
POST /api/mailbox/watch/pullpotvrdi Pub/Sub zpravy az po uspesnem zpracovani notifikaci; navazany import pak ridi uzgmail_synchronizer - heartbeat se udrzuje i v idle stavu, aby worker mel lokalni self-observed stav; backend uz ho necte pres sdileny mount, ale pres
GET /statusz - pri timeoutu nebo backend chybe konkretni job nesmi shodit cely worker proces; chyba se materializuje do
job_metricsa scheduler pokracuje dalsimi joby