python - 如何在 django 中只运行一次 celery 任务?
问题描述
from __future__ import absolute_import, unicode_literals
from celery import shared_task
from celery.task import periodic_task
from celery.schedules import crontab
from datetime import timedelta
@periodic_task(run_every=(crontab(minute='*/1')), name='greeting_task')
def greeting_task():
print('hello Dias!')
我可以使用 crontab 创建一个在特定时间只运行一次的函数吗?请帮忙!!!提前致谢!
解决方案
如果您使用的是Django-Celery-Beat,它能够使用模型创建在特定日期/时间仅运行一次ClockedSchedule
的任务。由于某种原因它不在文档中,但您可以通过 Django Admin 轻松配置它。
推荐阅读
- jackson - 从 FasterXML/Jackson 从 2.8、2.10 迁移到 2.12 或 3.13 是否有任何伤亡?
- sql - 如何添加缺少的月份并显示 TotalPayment = 0
- typescript - 如何使用 SheetJS 将所有值保存为字符串来引导 CSV 文件
- android - 如何修改Android车载拨号器应用程序以显示联系人下载进度?
- python - 当分钟/秒达到 0 时向数字时钟添加额外的 0
- gzip - 如何压缩 HTTP 响应?
- macos - 无法在 macOS 上使用 podman 登录 docker 注册表 - x509:证书由未知机构签名
- javascript - Google Chrome 扩展程序:一种使不可见选项卡表现得好像可见的方法?
- c# - unity forcemode.impulse 仅在 y 方向施加力
- java - Java 同步块和显式锁的可见性保证