问题描述
有什么方法可以在django视图中定义日期和时间,并在定义的时间运行celery任务?
例如
def test(request):
date = '2020-09-12'
time = '11:34'
# run the below task at the specified time
test_celery_test.delay()
...
我希望任务在指定的时间仅运行一次,并且不应重复
解决方法
您可以在下面尝试吗
让我们说这是您的任务
import time
from datetime import datetime,timedelta
from datetime import date
from celery import shared_task,current_task,task
from celery import Celery
app = Celery()
@app.task
def test():
print ('1')
todaynow = datetime.now()
print todaynow
然后,您可以在自己的视图中这样调用。py
test.apply_async(eta=datetime.datetime(2019,8,30,11,35))
如果您只想运行一次,为什么要放入views.py,我建议您在common或crontab的自定义管理中查找相同的内容。
谢谢