从前端使用芹菜设置crontab

2024-04-19 00:53:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现了芹菜,但做我真正想做的事情有点困难。。按照flask docs设置celery实例非常简单。但后面的celery docs不是。我使用redis作为我的键值DB。但是我的任务似乎没有被安排好。在

from flask import Flask
from flask_celery import make_celery
from celery.schedules import crontab


app = Flask(__name__)
app.config['celery_broker_url'] = 'redis://localhost:6379'
app.config['celery_result_backend'] = 'redis://localhost:6379'

celery = make_celery(app)

@celery.task(name='flask_celery.test')
def test(arg):
    return(arg)

@celery.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    sender.add_periodic_task(10.0, test.s('hello'), name='add every 10')


celery.conf.beat_schedule = {
    'add-every-30-seconds': {
        'task': 'tasks.add',
        'schedule': 30.0,
        'args': (16, 16)
    },
}


if __name__ == '__main__':
    app.run(debug=True)

但是,使用另一个简单的例子可以很好地工作:

^{pr2}$

那么我的crontab芹菜例子有什么问题?最后,我在寻找一种从前端设置任务的方法,即安排任务在将来某个时候被处理。在


Tags: namefromtestimportredisaddappflask