GH GambleHub

スケジューラとバックグラウンドタスク

(事業・管理)

1)目的

スケジューラとバックグラウンドタスクは、プラットフォームの非ユーザー操作を確実にします。定期的な計算、アーティファクトのパブリケーション、クリアとキューのリプレイ。目的は、決定論、フォールトトレランス、および監査可能性です。


2)タスクタクソノミ

タイムベース:スケジュール(cron/calendar): RTPウィンドウのクリア、クローズ、アップロード、アーカイブ。
イベント駆動:バスからのトリガー(PaymentsSettled、 PriceListUpdated)。
ワンオフ/アドホック:TTL付きワンオフジャブ。
ロングランニング:バックオフ/サガ、ストリーミングコンパクト。
メンテナンス:キー回転、再パッケージ、インデックス、キャッシュのウォームアップ。


3)アーキテクチャ(参考)

コンポーネント:

1.スケジューラ(コントロールプレーン):スケジュール、CAL/cron、メンテナンスウィンドウ、タイムゾーン、リミッターを格納します。

2.ディスパッチャー:plan→queue (per-priority/tenant/region)、締め切り、idempotentキーを入れます。

3.作業者:タスクプールの静的/オートスケール;ハートビート、リース。

4.キュー/バス:FIFO/priority、 DLQ、遅延メッセージ。

5.ロッカー/調整:分散ロック(リース)、リーダー選挙(いかだ/ZK/領事館)。

6.Vault/KMS: JITの秘密、短いTTL。

7.観測性:トレース/メトリック/ログ、ダッシュボード、アラート。

8.監査/WORM:実行の不変の領収書、Merkleスライス。

パターン:outbox/CDC、 idempotency、補償(sagas)、背圧、遮断器。


4)スケジュール: cronおよびカレンダー

Cron v3: second/minute/hour/day/month/day-week;「/5「のサポート、範囲、リスト。
カレンダー/例外:ビジネスカレンダー、サイレンスウィンドウ、休日/DST。
タイムゾーン:タスクの'tz'を維持します。テナントの現地時間開始。
マルチリージョン:ドレイン/再選択時のリージョンスケジュールまたは「リード領域+フォロワー」のコピー。


5)キュー、優先順位、SLA

優先順位クラス:P0(クリティカル)、P1、 P2、 P3;個々の労働者プール。
SLA/締め切り: 'must_start_by'、 'must_finish_by';スキップ-エスカレーション/リトレイ。
クォータと公平性:タスク/分/テナントのキャップ、「バースト」のトークン、ノイズの多い隣人の分離。
遅延/可視性のタイムアウト。


6)競争力と閉塞

リース:自動拡張(ハートビート)での作業のレンタル。タイムアウト-失効。
Mutex/semaphores:リソースごと(例:「price list x write only one worker」)。
Sharding: 'tenant/region/hash (key)';キャッシュおよびデータの局所性のための粘着ルーティング。
リーダー選挙:1人のリーダーが「システム」ジョブ(「すべてのRTPウィンドウを閉じる」など)、フォロワー-ホットスタンバイを公開します。


7)信頼性: Retrai、 idempotency、 deadup

Idempotentキー:'(task_type、 business_id、ウィンドウ)';繰り返し→同じ領収書。
Retrai:指数関数的なバックオフ+ジッタ、試行回数の制限、オンエラー戦略(再試行/キャンセル/補償)。
毒薬:N障害後にDLQへの高速転送、所有者に警告します。
Dedup: TTLウィンドウ上のseen-cache (in-memory+KV)。
正確に一度の効果:トランザクションログ/領収書による副作用の確認。


8)長く、重い仕事の管理

Chunking: breakdown into batches、 checkpoints/continuation。
タイムボクシング:CPU/IO/ネットワークの排出制限;保存された進捗状況で割り込みます。
Sagas/compensations:サービス間ステップの「元に戻す」セマンティクス。
並行キャップ:タイプ/テナント/リージョンごとの同時タスクの制限。


9)観測可能性と指標

トレース:'trace_id'、 sagaステップ、外部呼び出し。

メトリクス(SLI):
  • Lag to start、 queue (length、 age p95)。
  • 成功率、エラー率、再試行率。
  • レイテンシp50/p95、完了までの時間。
  • 1kタスクあたりのコスト、出力/入力。
  • DLQ率、毒薬率。
SLO(例):
  • P0開始≤ 60秒、P1 ≤ 5分;成功≥ 99。5%;DLQ ≤ 0。1%;鮮度≤ 30秒P95。

10)監査と証明

領収書:開始/成功/エラーの'receipt_hash'、重要なタイプ(支払い、価格リスト、RTP)のDSSE署名。
WORM:実行ログとタスクマニフェストを格納します。
Chain-of-custody:スケジュールを配信/承認/変更した人;SoDがチェックします。


11)セキュリティとアクセス

RBAC/ABAC/ReBAC:作成/承認/実行する人;SoD:「支払いを作成する」≠「承認する」。
JITの秘密:ワーカーは問題の範囲を超えて短いTTLでトークンを要求します。
分離:テナント/地域/グリッドごとの労働者のプール;sandbox-executionを実行します。
PII衛生:マスキング/トークン化、プライマリのロギングの禁止。


12) FinOpsおよび費用

compute/storage/egressのbudgets/cap-alert。
キューとSLOによる自動スケールワーカー。
ストレージクラス:ホット(7-30日)→OLAP (6-24ヶ月)→アーカイブ。
費用対効果のある計画:「安い時間」での起動ウィンドウ、排出制限。


13)データモデル(簡略化)

'schedule' '{id、テナント、地域、tz、 cronカレンダー、ウィンドウ、有効、所有者、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、結果、trace_id、メトリック{}、領収書[]}'
'dlq_item' '{job_id、 reason、 attempts、 last_error、 owner_notified}'

14) API契約(管理/統合)

'POST/schedules'-スケジュール(cron/cal、 tz、 windows)を作成します。
'POST/jobs'-putアドホック;'job_id'、 'receipt_hash'を返します。
'GET/jobs/{ id}'-status/log/receipts。
'POST/jobs/{ id }/cancel'-補償でキャンセルします。
'GET/queues/stats'-長さ、lags、 p95。
Вебхуки: 'JobStarted'、 'JobSucceeded'、 'JobFailed'、 'JobDroppedToDLQ'、 'SLOViolated'。


15)プレイブック(典型的なシナリオ)

Retry-storm:グローバルバックオフを有効にし、依存性のタイムアウトを上げ、回路ブレーカを有効にし、バッチを分割します。
DLQ雪崩:受信を停止し、DLQ解析の優先順位を付け、新しいタスクをバッファします。
リーダーは落ちました:再選、idempotencyによる「二重出版物」の検証、監査。
ハングプロバイダ(PSP/KYC):リザーブへのルート、ポーリング/Webhookの頻度を減らし、トランザクションを検疫に転送します。
リークされた労働者の秘密:重要な失効、ローテーション、30日間で「異常な」起動の検索、権利レビュー。


16) iGaming/fintechの特異性

支払い/支払い:領収書のある非同期ジョブ、「グレー」トランザクションの隔離、重複排除を伴うキューのリプレイ。
RTPウィンドウ/リミット:カレンダー閉鎖、観察されたvs理論的なRTP、ドリフト時の自動一時停止プロモーション。
価格リスト/FX/税金:スケジュールされた出版物、アーティファクトバージョン、キャッシュフォース障害。
アフィリエイト:コンバージョンの和解、dedup webhook、行為/署名、エスクロー紛争。


17)品質指標(サンプルセット)

Schedule Adherence:ウィンドウで開始されたタスクの共有率≥ 99%です。
キューラグp95: P0 ≤ 60 c、 P1 ≤ 5分。

成功/再試行/DLQ率: ≥ 99。5% / ≤ 0.4% / ≤ 0.1%.

Idempotency Errors: ≤ 0。01%.

Cost/1kジョブとエグレス/ジョブ-予算内。
監査の完全性:領収書を含む100%重要なタスク。


18) RACI

Area(エリア)R (R)A (A)C (C)私は、
スケジューラアーキテクチャプラットフォーム/SRECTOについてデータ、セキュリティプロダクト
ポリシー/SoD/カレンダーコンプライアンス/IAMCCO/CISO法律、Opsすべての情報
観測可能性/SLOSREエン・ヘッドデータ、FinOpsサポート
経済/クォータFinOpsCFO/CTOSRE、製品BUリード
重要なプレイブックIRチームCOOについてパートナー、法務監査(Audit)

19)実装チェックリスト

  • タスククラス、優先順位、およびSLAを強調表示する。カレンダーとタイムゾーンを定義します。
  • リーダーを選択してシャーディングするスケジューラ/ディスパッチャー/キュー/ワーカーを展開します。
  • idempotency、 retrays、 DLQ、補償(sagas)を導入する。
  • 労働者のためのRBAC/ABAC/ReBAC、 SoDおよびJITの秘密を構成して下さい。
  • トレース/メトリック/ログ、ダッシュボード、アラートを有効にします。SLOエラーバジェット。
  • 重要なタイプの署名された請求書(DSSE)とWORMログ。
  • オートスケールおよびキャップアラート(compute/storage/egress)。
  • プレイブック:再試行ストーム、DLQ雪崩、リーダー障害、プロバイダの劣化。
  • テスト:PlaybookごとのGameDay、遅延/エラー注入。
  • スケジュール、キューのブロック、およびオートメーションROIの定期的なレビュー。

20) FAQ

なぜcronが十分ではないのですか?
キュー、idempotency、ロックと監査がなければ、cronはクラッシュとタイムゾーンで故障します。

時間ベースとイベント主導を組み合わせることはできますか?
はい:cron-キャッチアップのための保険。イベント-反応性のために。

どのように「正確に一度」を達成するには?
キーのdedup、トランザクション効果ログ、領収書とidempotent副作用。

「長い」仕事をどうするか?
チャンク、チェックポイント、タイムボクシング、中断して続行する能力。

予算を「食べない」方法は?
キューやSLOの自動スケール、重い仕事のための安価な時計、ハードキャップの出力/計算。


概要:スケジューラとバックグラウンドタスクは、プラットフォームの生産パイプラインです。スケジュールとキュー、idempotence、ロックとオブザビリティ、領収書/監査、テナントの分離とFinOpsコントロールを組み込むことで、予測可能な期限、迅速なリカバリ、あらゆる地域での法的に一貫した操作と負荷が得られます。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。