Celery開発のベストプラクティス
Celeryを使用して信頼性が高くスケーラブルな分散タスクシステムを構築するための、60以上の優先順位付けされたルールを21のカテゴリにわたって網羅した、包括的なバックグラウンドタスク処理フレームワークです。
適用タイミング
以下の場合にこれらのガイドラインを参照してください:
- バックグラウンドタスク処理を実装する場合
- 分散ジョブキューをセットアップする場合
- Celery Beatで定期タスクを設定する場合
- タスクのパフォーマンスと信頼性を最適化する場合
- Celeryアプリケーションの監視とデバッグを行う場合
- タスクルーティングと結果の処理を実装する場合
- Celeryワーカーとブローカーを管理する場合
- 分散タスク環境でのセキュリティを確保する場合
- Canvasプリミティブを使用した複雑なワークフローを設計する場合
- シリアライゼーションとデータ転送を処理する場合
- Celeryを本番環境にデプロイする場合
優先順位別ルールカテゴリ
| 優先順位 | カテゴリ | ルール数 | 影響度 | プレフィックス |
|---|---|---|---|---|
| 1 | 設定と構成 | 2 | クリティカル | config- |
| 2 | タスク定義と実行 | 3 | クリティカル | task- |
| 3 | エラーハンドリングと信頼性 | 1 | 高 | error- |
| 4 | Canvas:ワークフロー設計 | 4 | 高 | canvas- |
| 5 | 監視とログ | 2 | 高 | monitoring- / perf- |
| 6 | パフォーマンスとスケーリング | 2 | 中-高 | perf- |
| 7 | セキュリティ | 1 | 中-高 | security- |
| 8 | 結果バックエンド | 2 | 中-高 | result- |
| 9 | ルーティングとキュー | 1 | 中 | routing- |
| 10 | 定期タスク | 1 | 中 | periodic- |
| 11 | シリアライゼーション | 1 | 中 | serial- |
| 12 | ワーカー管理 | 1 | 中 | worker- |
| 13 | シグナルとイベント | 1 | 中 | signals- |
| 14 | リモート制御と調査 | 1 | 中 | remote- |
| 15 | Celeryアプリケーションのテスト | 1 | 中-高 | testing- |
| 16 | デーモン化とプロセス管理 | 1 | 中 | daemonization- |
| 17 | Celeryアプリケーションのデバッグ | 1 | 高 | debugging- |
| 18 | 拡張とブートステップのカスタマイズ | 1 | 低 | extensions- |
| 19 | 高度なパターン | 1 | 低 | advanced- |
クイックリファレンス
1. 設定と構成(クリティカル)
config-broker-setup: メッセージブローカー(Redis/RabbitMQ)を適切に設定するconfig-environment-separation: 環境ごとに設定を分離する
2. タスク定義と実行(クリティカル)
task-calling-methods: 適切な呼び出し方法(delay/apply_async/call)を選択するtask-atomic-operations: タスクがアトミックかつ冪等であることを保証する
3. エラーハンドリングと信頼性(高)
error-retry-strategy: インテリジェントなリトライメカニズムを実装する
2. タスク定義と実行(クリティカル)
task-calling-methods: 適切な呼び出し方法(delay/apply_async/call)を選択するtask-atomic-operations: タスクがアトミックかつ冪等であることを保証するtask-options-configuration: タスクの動作と信頼性オプションを設定する
3. エラーハンドリングと信頼性(高)
error-retry-strategy: インテリジェントなリトライメカニズムを実装する
4. Canvas:ワークフロー設計(高)
canvas-chain-workflows: 逐次タスク実行とエラー伝播canvas-group-parallel: パフォーマンスのための並列タスク実行canvas-chord-synchronization: 並列実行と同期を伴う複雑なワークフローcanvas-map-starmap: 効率的なバッチ処理とデータ変換
5. 監視とログ(高)
monitoring-task-tracking: タスクの実行とパフォーマンスを追跡するperf-monitoring-metrics: パフォーマンス最適化と問題検出
6. パフォーマンスとスケーリング(中-高)
perf-concurrency-tuning: ワーカーの並行性設定を最適化する
7. セキュリティ(中-高)
security-task-authentication: 不正なタスク実行を防止する
8. 結果バックエンド(中-高)
result-backend-selection: 適切な結果バックエンドを選択するresult-expiry-management: 結果の有効期限ポリシーを管理する
9. ルーティングとキュー(中)
routing-task-distribution: インテリジェントなタスクルーティングとキュー管理
10. 定期タスク(中)
periodic-celery-beat: 信頼性の高いスケジュールタスク実行
11. シリアライゼーション(中)
serial-data-handling: 信頼性の高いデータ転送と保存
12. ワーカー管理(中)
worker-lifecycle-management: 信頼性の高いワーカー運用とリソース管理
13. シグナルとイベント(中)
signals-events-system: Celeryイベントにフックして監視と拡張を行う
14. リモート制御と調査(中)
remote-control-inspection: ワーカーのランタイム管理とトラブルシューティング
15. Celeryアプリケーションのテスト(中-高)
testing-celery-applications: 非同期アプリケーションのための包括的なテスト戦略
16. デーモン化とプロセス管理(中)
daemonization-process-management: 本番デプロイとサービス管理
17. Celeryアプリケーションのデバッグ(高)
debugging-celery-applications: 効果的なトラブルシューティングと問題解決
18. 高度なパフォーマンス最適化(中-高)
advanced-performance-optimization: 高スループット最適化テクニック
19. 拡張とブートステップのカスタマイズ(低)
extensions-bootsteps-customization: 高度なカスタマイズと拡張
20. 高度なパターン(低)
advanced-task-chaining: 複雑なワークフローオーケストレーション
使用方法
個々のルールファイルで詳細な説明とコード例を参照してください:
rules/config-broker-setup.md # ブローカー設定
rules/task-calling-methods.md # タスク実行メソッド
rules/task-options-configuration.md # タスク動作オプション
rules/canvas-chain-workflows.md # 逐次ワークフロー
rules/canvas-group-parallel.md # 並列実行
rules/canvas-chord-synchronization.md # 複雑な同期
rules/canvas-map-starmap.md # バッチ処理
rules/monitoring-task-tracking.md # タスク監視
rules/result-backend-selection.md # 結果ストレージ
rules/routing-task-distribution.md # タスクルーティング
rules/periodic-celery-beat.md # スケジュールタスク
rules/serial-data-handling.md # データシリアライゼーション
rules/signals-events-system.md # イベントフック
rules/remote-control-inspection.md # ワーカー管理
rules/testing-celery-applications.md # テスト戦略
rules/security-task-authentication.md # タスクセキュリティ
rules/daemonization-process-management.md # 本番デプロイ
rules/debugging-celery-applications.md # トラブルシューティング
rules/advanced-performance-optimization.md # 高性能チューニング
rules/extensions-bootsteps-customization.md # 高度なカスタマイズ
各ルールファイルには以下が含まれています:
- 影響度とカテゴリ
- 結果を含む問題の説明
- コード例付きの解決策
- 避けるべきよくある間違い
- ルールを適用すべきタイミング
参考ドキュメント
複雑なトピックに関する詳細ガイド:
references/worker-management.md # ワーカーのデプロイとスケーリング
その他の参考ガイド(予定):監視設定、トラブルシューティング、Canvasパターン
完全なコンパイルドキュメント
すべてのルールを展開した完全なCeleryベストプラクティスガイドについては、AGENTS.mdを参照してください。
Celeryバージョンサポート:Celery 4.x、5.x、6.x(最新版)と互換性があります