用芹菜运行一个简单的期间任务

时间:2017-03-31 09:27:40

标签: python asynchronous celery

我似乎无法弄清楚如何让这个工作。我想每十秒钟运行一次功能

from __future__ import absolute_import, unicode_literals, print_function
from celery import Celery
import app as x # the library which hold the func i want to task

app = Celery(
    'myapp',
    broker='amqp://guest@localhost//',
)

app.conf.timezone = 'UTC'

@app.task
def shed_task():
    x.run()


@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    # Calls say('hello') every 10 seconds.
    sender.add_periodic_task(10.0, shed_task.s(), name='add every 10')

if __name__ == '__main__':
    app.start()

然后当我运行脚本时,它只显示了一堆我可以用于芹菜的命令。我该如何运行?我是否必须在命令行中运行它?

此外,当我运行它时,我能够看到完整任务的列表以及任何错误吗?

1 个答案:

答案 0 :(得分:0)

您只需使用下面的python线程模块

即可
import time, threading
def foo():
    print(time.ctime())
    threading.Timer(10, foo).start()

foo()