<p>celery beatは機能していませんが、データベースを使用するとceleryworker--beatは機能しています</p>

作成日 2014年05月25日  ·  3コメント  ·  ソース: celery/celery

セロリ3.1.11

settings.py

# Celery transport
BROKER_URL = 'django://'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
from celery.schedules import crontab

CELERYBEAT_SCHEDULE = {
        'every-minute': {
            'task': 'tasks.sync_oracle_history',
            'schedule': crontab(minute='*/1'),
            },
        }

project.apps.projフォルダーに、tasks.pyを追加します

from __future__ import absolute_import
from celery import task

@task(name='tasks.sync_oracle_history')
def sync_oracle_history():
    print "="*30
    print "TODO: sync_oracle_history pending"

わからない、私へのヒントは大歓迎です。

bashシェルで、コマンドを実行する場合:celery beat -A proj -l info、キューにのみ送信し、タスクを実行しない、
ただし、コマンドcelery worker -A proj -l infoを変更すると、タスクがトリガーされます。

最も参考になるコメント

Beatはタスクを実行せず、メッセージを送信するだけです。 ビートインスタンスとワーカーインスタンスの両方が必要です!

全てのコメント3件

Beatはタスクを実行せず、メッセージを送信するだけです。 ビートインスタンスとワーカーインスタンスの両方が必要です!

ありがとう@ask

こんにちは、タスクを実行するたびにこれらのコマンドを使用しないようにするにはどうすればよいですか? @xiaods @ask

このページは役に立ちましたか?
0 / 5 - 0 評価