我有一个每分钟运行一次的定期芹菜任务,如下所示:
#tasks.py
@periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*")))
def scraping_task():
result = pollAPI()
正如您可能从名称中猜到的那样,函数pollAPI()
会轮询API。问题在于API具有未公开的速率限制,并且如果达到该限制,则有时会给出错误响应。我希望能够接受该响应,如果达到限制,则动态减少周期性任务间隔(或者甚至暂停任务一段时间)。这可能吗?
我在文档中读到了覆盖is_due
schedules
{{1}}方法的问题,但我对如何处理我在这里寻找的行为感到很遗憾。有人可以帮忙吗?
答案 0 :(得分:0)
您可以尝试使用celery.conf.update
更新CELERYBEAT_SCHEDULE
。