Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过django视图计划芹菜任务_Python_Django_Celery_Scheduled Tasks_Celery Task - Fatal编程技术网

Python 如何通过django视图计划芹菜任务

Python 如何通过django视图计划芹菜任务,python,django,celery,scheduled-tasks,celery-task,Python,Django,Celery,Scheduled Tasks,Celery Task,有没有办法在django视图中定义日期和时间,并在定义的时间运行芹菜任务 比如说 def test(request): date = '2020-09-12' time = '11:34' # run the below task at the specified time test_celery_test.delay() ... 我希望该任务在指定的时间只运行一次,并且不应重复您可以尝试下面的方法吗 假设这是您的任务 import

有没有办法在django视图中定义日期和时间,并在定义的时间运行芹菜任务

比如说

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中,我建议您在CustomManagementCommond或crontab中查找同样的内容


谢谢你。谢谢你的回答。您能告诉我如何使用django视图中的crontab来实现这一点吗?