如何使用 Celery 安排每月 1 日运行的任务?

发布于 2024-10-06 19:06:05 字数 139 浏览 6 评论 0原文

如何使用运行于 的 安排任务每个月1号?

How do I schedule a task with that runs on 1st of every month?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

还如梦归 2024-10-13 19:06:05

从 Celery 3.0 开始,crontab 计划现在支持 day_of_month
month_of_year 参数: http: //docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules

Since Celery 3.0 the crontab schedule now supports day_of_month
and month_of_year arguments: http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules

在巴黎塔顶看东京樱花 2024-10-13 19:06:05

您可以使用 Crontab 计划 来完成此操作可以这样定义:

  • 在 django settings.py 中:
from celery.schedules import crontab

CELERYBEAT_SCHEDULE = {
    'my_periodic_task': {
        'task': 'my_app.tasks.my_periodic_task',
        'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
    },
}
  • celery.py 配置中:
from celery import Celery
from celery.schedules import crontab

app = Celery('app_name')
app.conf.beat_schedule = {
    'my_periodic_task': {
        'task': 'my_app.tasks.my_periodic_task',
        'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
    },
}

You can do this using Crontab schedules and you cand define this either:

  • in your django settings.py:
from celery.schedules import crontab

CELERYBEAT_SCHEDULE = {
    'my_periodic_task': {
        'task': 'my_app.tasks.my_periodic_task',
        'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
    },
}
  • in celery.py config:
from celery import Celery
from celery.schedules import crontab

app = Celery('app_name')
app.conf.beat_schedule = {
    'my_periodic_task': {
        'task': 'my_app.tasks.my_periodic_task',
        'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
    },
}
半衬遮猫 2024-10-13 19:06:05

在 app.conf.beat_schedule(Celery Beat Scheduler) 中使用下面的 crontab

crontab(hour=set_your_hours, minute=set_your_minutes, day_of_week="*",
        day_of_month=1, month_of_year="*")

Use below crontab in your app.conf.beat_schedule(Celery Beat Scheduler):

crontab(hour=set_your_hours, minute=set_your_minutes, day_of_week="*",
        day_of_month=1, month_of_year="*")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文