GH GambleHub

調度程序和背景任務

(部分: 業務和管理)

1)任命

調度器和背景任務為平臺提供了非用戶操作:定期計算,工件發布,清算和隊列回放。目標是確定性,抗故障性和可審計性。


2)任務分類

基於時間:按計劃(cron/Calendar):清算,關閉RTP窗口,上載,存檔。
事件驅動:總線觸發器(PaymentsSettled, PriceListUpdated)。
One off/Ad-hoc:TTL的一次性喬巴。
Long-running: backof/sags,流媒體編譯。
維護:按鍵旋轉、備份、索引、緩存加熱。


3)體系結構(參考)

組件:

1.Scheduler(控制平面):存儲時間表,CAL/cron,服務窗口,時區,限制器。

2.Dispatcher: Plan →隊列(per-priority/tenant/region),設置截止日期,等效鍵。

3.工作人員:任務池下的靜態/自動軌道;heartbeats, leases.

4.Queue/Bus:FIFO/修飾,DLQ,延遲消息。

5.Locker/Coordination:分布式鎖定(leases), lead-election (Raft/ZK/Consul)。

6.Vault/KMS:JIT秘密,TTL短。

7.Observability: traces/metrics/logs, dashbords, alerts.

8.審計/WORM:不變的執行收據,Merkle切片。

模式:outbox/CDC,idempotency,補償(sags),backpressure,電路斷路器。


4)時間表: cron和日歷

Cron v3:秒/分鐘/小時/天/月/天/周;支持「/5」,範圍,列表。
日歷/例外:商業日歷,「沈默窗口」,假期/DST。
時間段:在任務上保留「tz」;在tenant的本地時間運行。
多區域:帶有漂移/重新選舉的per-Region或「領先區域+追隨者」時間表的副本。


5)隊列,優先級,SLA

優先級類別:P0(關鍵),P1,P2,P3;個別的worker池。
SLA/截止日期:「must_start_by」,「must_finish_by」;通行證-升級/轉發。
配額和公平性:任務/分鐘/特南特的帽子,「bursta」的令牌,noisy-neighbors的隔離。
延遲任務:「不早於」(延遲/可視性時間)。


6)競爭性和鎖定

Leases:租用自動擴展(heartbeat);超時-重新發布。
Mutex/信號器:per資源(例如,「價格表x僅寫一個騙子」)。
搖搖欲墜:通過「tenant/region/hash(key)」;用於緩存和數據局部性的粘性路由。
領導引理:一位領導者發布「系統性」喬巴(例如「關閉所有RTP窗口」),追隨者發布熱站。


7)可靠性: retrais、idementity、dedup

等效鍵:「(task_type,business_id,窗口)」;重播→相同的收據。
Retrai:指數背靠背+擠壓,嘗試限制,錯誤策略(retry/cancel/compensate)。
Poison-pill:N失敗後快速轉移到DLQ,對所有者表示贊賞。
Dedup:窗口的TTL上的seen-cache(內存+KV)。
Exactly once效果:通過交易日誌/收據確認副作用。


8)管理冗長而艱巨的任務

Chunking:按蹦床、支票/續集細分。
時間盒裝:CPU/IO/網絡 egress限制;中斷並保持進展。
傳奇/補償:服務間步驟的「undo」語義。
Concurrency-caps: 對類型/tenant/地區的同時任務限制。


9)可觀察性和指標

Traces:「trace_id」,傳奇步驟,外部調用。

Metrics (SLI):

Success Rate, error-rate, retry-rate.

Lag直到開始,隊列(長度,p95年齡)。

Latency p50/p95, time-to-complete.

按任務計算1k,egress/ingress。

DLQ rate, poison-pill rate.

SLO(示例):
  • P0開始≤ 60秒,P1 ≤ 5分鐘;Success ≥ 99.5%;DLQ ≤ 0.1%;Freshness(opershina)≤ 30與p95。

10)審計和可證明性

收據:「receipt_hash」開始/成功/錯誤,關鍵類型(付款,價格表,RTP)的DSSE簽名。
WORM:存儲執行日誌和任務清單。
Custody-of-Chain:誰交付/批準/更改時間表;SoD檢查。


11)安全性和可用性

RBAC/ABAC/ReBAC:誰創建/批準/運行;SoD:「創建付款」≠「批準」。
JIT秘訣:竊聽者通過跳過任務請求具有短TTL的令牌。
隔離:per-tenant/region/網格鍛煉池;sandbox表演。
PII衛生:蒙面/令牌,禁止初學者。


12) FinOps和成本

compute/storage/egress上的預算/上限。
按隊列和SLO排列的Autoscale Workers。
存儲類:熱(7-30天)→ OLAP (6-24個月)→存檔。
成本獎勵計劃:「廉價時鐘」的啟動窗口,egress限制。


13)數據模型(簡化)

`schedule` `{id, tenant, region, tz, croncalendar, window, enabled, owner, policy_version}`
`job` `{id, schedule_id?, type, payload_hash, idempotency_key, priority, must_start_by, attempts, status, receipt_hash}`
`lease` `{job_id, worker_id, acquired_at, ttl}`
`run_log` `{job_id, started_at, finished_at, outcome, trace_id, metrics{}, receipts[]}`
`dlq_item` `{job_id, reason, attempts, last_error, owner_notified}`

14) API合同(管理/集成)

「POST/schedules」-創建時間表(cron/cal, tz,窗口)。
「POST/jobs」-臨時交付;返回「job_id」,「receipt_hash」。
"GET/jobs/{id}-狀態/日誌/收據。
「POST/jobs/{id}/cancel」-帶補償的取消。
「GET/queues/stats」-長度,瀉湖,p95。

Вебхуки: `JobStarted`, `JobSucceeded`, `JobFailed`, `JobDroppedToDLQ`, `SLOViolated`.


15)花花公子(典型場景)

Retry-storm:包括全球支持,提升成癮時間,包括電路斷路器,擊球。
DLQ雪崩:停止接收,優先考慮DLQ分析,緩沖新任務。
領導者倒臺:重新當選,對「雙重出版物」的平均水平進行驗證,進行審計。
提供商Zavis (PSP/KYC):通往儲備的路線,降低投票率/webhook,將交易轉移到檢疫。
泄露的竊賊秘密:召回鑰匙,輪換,在30天內搜索「異常」發射,咆哮正確。


16) iGaming/fintech特點

付款/付款:帶收據的異步喬布斯,隔離「灰色」交易,帶有重復數據消除的隊列。
RTP窗口/限制:日歷關閉,觀察到vs理論RTP,漂移時自動暫停促銷。
價格表/FX/Tax:時間表發布、工件版本、高速緩存強制失效。
附屬機構:轉換對賬,webhook的去世,行為/簽名,爭議托管。


17)質量度量(示例集)

Schedule Adherence:在窗口中啟動的任務比例≥ 99%。
Queue Lag p95:P0 ≤ 60 c,P1 ≤ 5分鐘。

Success/Retry/DLQ Rate: ≥ 99.5% / ≤ 0.4% / ≤ 0.1%.

Idempotency Errors: ≤ 0.01%.

Cost/1k jobs和Egress/job-在預算範圍內。
審計完成:100%的關鍵任務與收據。


18) RACI

區域RACI
規劃器體系結構Platform/SRECTOData, SecurityProduct
政策/SoD/日歷Compliance/IAMCCO/CISOLegal, Ops一切都是
可觀察性/SLOSREHead of EngData, FinOpsSupport
經濟/配額FinOpsCFO/CTOSRE, ProductBU Leads
關鍵花花公子IR TeamCOOPartners, LegalAudit

19)實施支票

  • 確定任務類別,優先級和SLA;定義日歷和時間表。
  • 部署Scheduler/Dispatcher/Queue/Workers,並帶有Lead-Election和Sharding。
  • 引入冪等性,retrai,DLQ,補償(傳奇)。
  • 為用戶配置RBAC/ABAC/ReBAC, SoD和JIT秘密。
  • 啟用traces/metrics/logs、dashbords和alerts;SLO и error-budget.
  • 關鍵類型的簽名收據(DSSE)和WORM日誌。
  • 按成本計算的Autoscale和Cap Alerta (計算/存儲/egress)。
  • 花花公子:retry-storm, DLQ雪崩,領導者失敗,提供商退化。
  • 測試:每個花花公子的GameDay,註入延遲/錯誤。
  • 定期瀏覽時間表、排隊和ROI自動化。

20) FAQ

為什麼cron還不夠?

如果沒有隊列,等效性,鎖定和審計,cron就會中斷故障和時區。

可以將基於時間和活動的驅動程序結合起來嗎?

是的:cron-接管保險;事件-用於反應性。

如何實現「整整一天」?
按鍵,交易效果日誌,收據和偶數副作用。

如何處理「長期」喬布斯?

Chank, Checkpoints, Time-boxing,可以中斷和繼續.

怎麼不要「吃掉」預算?
自動排隊和SLO,重型喬布便宜的手表,僵硬的egress/compute帽。


摘要:規劃師和背景任務是平臺的生產管道。通過內置時間表和隊列、等效性、鎖定和可觀察性、添加收據/審計、隔離特南特和FinOps控制,您可以在任何區域和負載中獲得可預測的運行時間表、快速恢復和合法的操作。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。