1

次のように、1分に1回実行される定期的なセロリタスクがあります。

#tasks.py
@periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*")))          
def scraping_task():
    result = pollAPI()

関数pollAPI()は、名前から推測できるように、API をポーリングします。問題は、API には公開されていないレート制限があり、その制限に達すると、エラー応答が返されることがあることです。その応答を取得できるようにしたいと思います。制限に達した場合は、定期的なタスクの間隔を動的に減らします (または、タスクをしばらく一時停止します)。これは可能ですか?

is_dueのメソッドの上書きに関するドキュメントを読みましたがschedules、ここで探している動作を実現するために何をすべきか正確にわかりません。誰でも助けてもらえますか?

4

1 に答える 1

0

celery.conf.updateを使用して更新することができますCELERYBEAT_SCHEDULE

于 2014-07-17T22:24:13.070 に答える