キュー システムは Rediacc の中心であり、マシン間でのタスクの分散を管理します。

## 概要

キューは、次のライフサイクルでタスクを管理します。

PENDING → ASSIGNED → PROCESSING → COMPLETED/FAILED/CANCELLED

  • 保留中 - タスクが作成され、ブリッジによって取得されるのを待っています
  • ASSIGNED - Bridge がタスクを要求し、実行の準備をしています
  • 処理中 - タスクは現在マシン上で実行中です
  • 完了 - タスクは正常に終了しました
  • FAILED - タスクでエラーが発生しました
  • CANCELLED - タスクは手動でキャンセルされました

タスクのプロパティ

各キュー項目には次のものがあります。

プロパティタイプ説明
タスクIDUUID一意のタスク識別子
ステータス列挙型現在の実行状態
優先度1-5実行優先度 (1 番目が高い)
再試行回数番号残りの再試行回数
vaultDataオブジェクト暗号化されたタスクの構成
出力文字列タスク実行出力
エラー文字列失敗した場合のエラー メッセージ
作成された場所タイムスタンプタスクの作成時間
completedAtタイムスタンプタスク完了時間

優先システム

タスクは優先順位に従って処理されます。

  • P1 (クリティカル) - 即時実行 (緊急、セキュリティ)
  • P2 (高) - 数分以内に実行 (展開)
  • P3 (通常) - 数時間以内に実行 (標準タスク)
  • P4 (低) - バックグラウンド作業 (メンテナンス)
  • P5 (最小) - リソースが利用可能なとき (クリーンアップ)

### 例

# Create high-priority task
./rediacc create task \
  --machine prod-01 \
  --priority 1 \
  --command "systemctl restart app"

再試行メカニズム

失敗したタスクは自動的に再試行できます。

{
  "taskId": "550e8400-e29b-41d4-a716-446655440000",
  "retryCount": 3,
  "retryDelay": 30,
  "maxRetries": 3
}

再試行動作を構成します。

  • retryCount - 残りの再試行回数
  • retryDelay - 再試行間の秒数
  • maxRetries - 許可される再試行の最大数

監視キュー

キューのステータスを確認する

./rediacc list queue
./rediacc list queue --status PENDING
./rediacc list queue --team Production

特定のタスクを監視する

./rediacc inspect queue task-123

リアルタイム監視

Web コンソールを使用して、リアルタイムのキューの更新と視覚化を行います。

ボールトデータ

タスクには暗号化された構成を含めることができます。

{
  "vaultData": {
    "function": "deploy",
    "repository": "web-app",
    "version": "1.2.3",
    "environment": "production",
    "credentials": {
      "ssh_key": "[encrypted]",
      "api_token": "[encrypted]"
    }
  }
}

Vault データはシステムによって自動的に暗号化/復号化されます。

バッチ操作

複数のタスクを効率的に処理します。

# Get next 5 tasks
./rediacc list queue --limit 5

# Cancel multiple tasks
./rediacc cancel queue task-1 task-2 task-3 --confirm

キューのベスト プラクティス

  1. キューの深さを監視 - キューが大きくなりすぎる場合はアラートを送信します
  2. 適切な優先順位を設定します - 優先順位 1 を使いすぎないでください。
  3. バッチ処理を使用する - 関連タスクをグループ化する
  4. 再試行を賢く構成 - 信頼性とリソース使用量のバランスを取る
  5. 完了したタスクをアーカイブする - キューをクリーンな状態に保ちます

トラブルシューティング

タスクが処理中に停止しています

タスクが行き詰まった場合:

  1. ブリッジのステータスを確認する
  2. マシンの SSH 接続を確認する
  3. タスクログでエラーを確認します。
  4. 必要に応じて手動でキャンセルします

高キューのバックログ

キューが増大している場合:

  1. ブリッジ容量を確認する
  2. マシンリソースを確認する
  3. ブリッジ設定の「batch_size」を増やします。
  4. ブリッジまたはマシンを追加する

タスクの失敗

常にチェックしてください:

  1. タスクのエラーメッセージ
  2. マシンログ
  3. ボールトのデータの整合性
  4. SSH接続

詳細については、ベスト プラクティス をご覧ください。