Python プロジェクトで、タスクが毎日特定の時間に 1 回実行される非同期タスクを開発したいと考えていました。
私はこの機能を乗り越えるさまざまな方法について多くのことを調査しましたが、機能と機能の間で非常に混乱celery beat
しcrontabs
ています。パフォーマンスの考慮事項を含め、2つの違い(ある場合)を理解するのを誰かが手伝ってくれたらうれしいです。
Python プロジェクトで、タスクが毎日特定の時間に 1 回実行される非同期タスクを開発したいと考えていました。
私はこの機能を乗り越えるさまざまな方法について多くのことを調査しましたが、機能と機能の間で非常に混乱celery beat
しcrontabs
ています。パフォーマンスの考慮事項を含め、2つの違い(ある場合)を理解するのを誰かが手伝ってくれたらうれしいです。
このコードでわかるように:
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (16, 16)
},
}
これcelery beat
は実際にはプロセスそのものであり、設定のある関数のように考えてください。関数はタスクであり、設定は引数、名前、およびスケジュールです。ここにcrontabが来ます。これは、セロリにいつサイクルするかを伝える期間です。
タイプのリストもここで見ることができcrontabs
ます。