大家好,我是celery和python的新手。我正在使用rabbitmq-server创建一个简单的任务。但我不知道如何在python中使用celery beat实现周期性任务。我搜索但是每次我用django定期完成任务。
我将此代码用作tasks.py: 来自芹菜进口芹菜 从时间导入strftime
app = Celery('tasks',broker='pyamqp://guest@localhost//')
@app.task
def show_time():
return strftime('%Y-%m-%d %H:%M:%S')
run_task.py:
from tasks import show_time
show_time.delay()
谢谢你的时间。
答案 0 :(得分:1)
最后经过一些更简洁的搜索我找到了解决方案
from celery import Celery
from kombu import Queue, Exchange
class Config(object):
CELERY_QUEUES = (
Queue(
'try',
exchange=Exchange('try'),
routing_key='try',
),
)
celery =Celery('tasks',broker='pyamqp://guest@localhost//')
celery.config_from_object(Config)
celery.conf.beat_schedule = {
'planner': {
'task': 'task_planner.some_task',
'schedule': 5.0,
},
}
@celery.task(queue='try')
def some_task():
print('Hooray')
并运行命令: celery -A task_planner worker -l info -B