[英]how can I run celery task only once in django?
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 創建一個在特定時間只運行一次的 function 嗎? 請幫忙!!! 提前致謝!
如果您使用的是Django-Celery-Beat ,它可以使用ClockedSchedule
model 創建在特定日期/時間僅運行一次的任務。 由於某種原因,它不在文檔中,但您可以通過 Django 管理員輕松配置它。
您需要更改crontab
的參數。
示例:如果您希望任務在每天凌晨 5 點運行一次:
@periodic_task(run_every=(crontab(minute='0', hour='5')), name='greeting_task')
def greeting_task():
print('hello Dias!')
crontab(minute='*/1')
將每分鍾運行一次任務。 在此處閱讀有關 crontab 語法的信息: https://en.wikipedia.org/wiki/Cron
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.