私の django Web アプリケーション ロジックは、バックグラウンド タスクの実行 (定期的とスタンドアロンの両方、同期と非同期の両方) に重点を置いています。すべての調査は、Celery の使用が最も推奨されるアプローチであることを示しているようです。最終的には Heroku にデプロイする予定ですが、Celery + Redis (ローカル開発に使用しているもの) がサポートされているという事実は、私にとって大きなプラスです。
ただし、セロリが提供するよりも広範なスケジューリング機能が必要です。「月の最後の太陽に実行」などのスケジュールを実行できるようにするには、定期的なタスクが必要です。そのため、django に独自のモデルを実装して、繰り返しルールとその他の必要なパラメーターを保存しました。
今、テーブルをセロリとインターフェースする方法に困惑しています。理想的には、私がやりたいことは、スケジュール、期限になったときに実行するタスク、およびタスクのパラメーターを持つ独自のジョブ モデルを持つことです。C++ の関数 ptr のようなものです。次に、ジョブが期限になったジョブキューをチェックし続けるデーモンを実行します。定期的に次のジョブインスタンスを作成してキューにプッシュし、セロリの遅延メソッドなどを使用してパラメーターを使用して関連タスクを実行します。
質問:
- このアプローチは理にかなっていますか?
- そうでない場合、他のどの代替アプローチを使用できますか
- はいの場合、そのジョブ/イベント キューを設計するにはどうすればよいですか...
これを行うためのより良いアプローチ、または適切なジョブキューの既存の実装があるか、セロリのジョブキュー自体を使用する方法があるかどうかを聞きたいです...
ありがとう山..