celery.beat:Windows上的定期任务

时间:2015-07-08 08:50:26

标签: celery

我正试图在芹菜上运行周期性任务。

我尝试按照此处描述的方式进行操作: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

感谢您的任何帮助或提示。 先感谢您, 卢卡斯

0 个答案:

没有答案