繁体   English   中英

如何通过 Django 视图安排 celery 任务

[英]How to schedule a celery task through a django view

有没有办法在 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

然后你可以在你的 views.py 中这样调用

test.apply_async(eta=datetime.datetime(2019, 8, 30, 11, 35))

如果您只想运行一次,为什么要放入views.py,我建议您为此在自定义管理commond 或crontab 中查找相同的内容。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM