当前位置: 首页 > 面试题库 >

如何安排任务在特定时间使用celery执行?

梁丘弘
2023-03-14
问题内容

我研究了PeriodicTask,但是示例仅涉及使其重现。我正在寻找一种类似cron的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。


问题答案:

感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。

例:

from celery.task.schedules import crontab
from celery.decorators import periodic_task

@periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon"))
def every_monday_morning():
    print("This runs every Monday morning at 7:30a.m.")


 类似资料:
  • 问题内容: 我研究了,但是示例仅涉及使其重现。我正在寻找一种类似的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。 问题答案: 感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。 例: 请参阅更改日志以获取更多信息: http://celeryproject.org/docs/changelog.html

  • 问题内容: 我的Java Scheduler有一个问题,我的实际需要是我必须在特定时间启动我的进程,并且我将在特定时间停止,我可以在特定时间启动我的进程,但是我不能在特定时间停止我的进程,如何指定进程在调度程序中运行多长时间(在这里我不会放),任何人对此都有建议。 问题答案: 您可以使用带有2个计划的计划,一个计划运行任务,另一个计划终止任务-参见下面的简化示例:

  • 问题内容: 我一直在寻找有关如何实现功能的示例,该功能使您可以在Go中的特定时间执行任务,但是我什么也找不到。 我自己实现了自己,并在答案中分享了它,以便其他人可以为自己的实现提供参考。 问题答案: 这是一个常规实现,可让您设置: 间隔期 小时打勾 分钟打勾 tick秒 更新:( 内存泄漏已修复)

  • WorkManager是一个库,用于对满足其约束后保证执行的工作进行排队。 因此,在查看了Constraints类之后,我还没有找到任何函数来为工作添加时间约束。例如,我希望在早上8:00AM开始执行一个工作(该工作可以是OneTimeWorkRequest或PerioadWorkRequest两种类型中的任何一种)。如何添加约束以使用WorkManager调度此工作。

  • 问题内容: 我使用celery更新新闻聚合站点中的RSS feed。我为每个提要使用一个@task,看起来一切正常。 有一个细节我不确定如何处理:所有提要每分钟都使用@periodic_task更新一次,但是如果提要仍在启动新任务时从上一个定期任务更新,该怎么办?(例如,如果Feed确实很慢或离线,并且任务在重试循环中进行) 目前,我存储任务结果并按以下方式检查其状态: 也许我错过了一些使用芹菜机

  • 问题内容: 我需要安排任务以固定的时间间隔运行。如何在长间隔(例如每8个小时)的支持下执行此操作? 我目前正在使用。是否支持长时间间隔? 问题答案: 使用: