我正试图在芹菜上运行周期性任务。
我尝试按照此处描述的方式进行操作:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries 也许是因为我不太确定将文件放在哪里以及如何导入所有内容......
或者也许是因为错误的时区(虽然我在这里尝试了几件事)。
我将所有内容都放在一个文件中:
from __future__ import absolute_import
import time
import job_example
from celery import Celery
from datetime import timedelta
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks.add',
#'schedule': crontab(hour=15, minute=30, day_of_week=1),
#'schedule': crontab(), # execute every minute
'schedule': timedelta(seconds=30),
'args': (15, 16),
},
}
CELERY_TIMEZONE = 'Europe/Berlin'
# CELERY_TIMEZONE = 'UTC'
app = Celery(include=['tasks'])
app.conf.update(
BROKER_URL='amqp://localhost//',
CELERY_RESULT_BACKEND='db+postgresql://postgres:1234@localhost:5432/test_lukas',
CELERYD_TASK_TIME_LIMIT=300,
# CELERYD_TASK_SOFT_TIME_LIMIT=7, # does not work under windows
CELERY_TASK_RESULT_EXPIRES=3600,
)
CELERY_IMPORTS=("tasks",)
@app.task
def add(x, y):
return x + y
@app.task
def doNbsJob():
print("Starting NbsJob now")
time.sleep(60)
#job_example.buildsw(loc)
return("str: doNbsJob done")
然后我用:
开始工作d:\projekte\MOG_Arbeitshilfen\learningPython\celproj>celery -A tasks worker -l info
......和芹菜击败(task-triggerer):
D:\projekte\MOG_Arbeitshilfen\learningPython\celproj>celery beat --loglevel=INFO
celery beat v3.1.18 (Cipater) is starting.
__ - ... __ - _
Configuration ->
. broker -> amqp://guest:**@localhost:5672//
. loader -> celery.loaders.default.Loader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)
[2015-07-08 10:14:27,534: INFO/MainProcess] beat: Starting...
不幸的是,任务永远不会被触发 - 它们不会出现在工人输出上,也不出现在节拍输出
上一些其他信息: 作为经纪人,我正在使用RabbitMQ服务器。 作为后端,我设置了一个postgresql-DB。 我不是在使用django。 D:\ celery_test \ project>芹菜报告
software -> celery:3.1.18 (Cipater) kombu:3.0.26 py:3.4.3
billiard:3.3.0.20 py-amqp:1.4.6
platform -> system:Windows arch:32bit, WindowsPE imp:CPython
loader -> celery.loaders.default.Loader
settings -> transport:amqp results:disabled
感谢您的任何帮助或提示。 先感谢您, 卢卡斯