1

イベントのスケジュールに使用できるサービスが必要です。たとえば、3 時に実行する必要があるタスク (1 回) または 2 時間ごとに実行するタスク (複数回) があるとします。できれば、各タスクは、発行先の AMQP キューで構成できます。

これは、OS タイマー イベントを作成することで簡単に実装できます。私の懸念は、このサービスがダウンした場合の復旧方法です。オンザフライでスケジューリングできるものであれば、CRON を使用できます。

車輪の再発明を避ける方法を探していました。これを行うプロジェクトがまだない場合は、作成します。ただし、これはかなり一般的なことなので、今までに誰も出していないとしたら驚きです.

4

1 に答える 1

2

Celery solves this problem.

celery.schedules lets you define periodic tasks. And you can override is_due to do things like schedule once a month. You can schedule tasks to execute at a specific time using periodic_task, or celery-beat (which I believe is now the standard approach). Yet another way is to use the eta argument to Task.apply_async.

于 2012-09-05T20:16:34.360 に答える