2016-08-30 16 views
0

セロリが更新された後、セロリが正常に動作するように停止しているように見えます。 私は1日あたり6~22の定期的な仕事をしています。 6-22から実行中のすべてのタスクは、理由なしで5分ごとに実行されます。Django Celery定期的なタスクcontrabを無視

タスクを毎時実行から6-22への実行に変更しました。 1時間ごとの機能も機能していませんでした。

私は試しました: 分= 0時間= 6-22分= 0、時間= '*/3,8-17'と完全に以下のように書かれています。 私はおそらくこれがうまくいくと思ったので、私はドキュメントからコピーした最後のものです。これらのドキュメントによると

#CELERY STUFF 
CELERY_IMPORTS = ('reviews.tasks',) 
CELERY_TIMEZONE = 'Europe/Berlin' 
BROKER_URL = 'redis://127.0.0.1:6379' 
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 7776000} 
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379' 
CELERY_ACCEPT_CONTENT = ['application/json'] 
CELERY_TASK_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
CELERY_ENABLE_UTC = False 

@periodic_task(
    run_every=(crontab(minute=0, hour='6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22')), 
    queue='feed', 
    name="feed_update", 
    ignore_result=True 
) 
def feed_update(): 
    """ 
    checks for feed updates 
    """ 
    feed_update_for_all_users() 
    logger.info("Feed Update complete") 

settings.pyは、すべての有効なcontrabはvarsのです。なぜそれは正常に動作していないのですか?

+0

'hour = 6''のように1時間しか使用しないと機能しますか? –

+0

あなたのセロリビートは確実に走っていますか?タスク構成は問題なく動作するはずです。 – SpiXel

+0

タスクコードまたはcrontabパラメータを更新するときは、セロリを再起動する必要があります。それを試しましたか? –

答えて

0

セロリのすべてのバグレポートを読んだ後。

セロリは他のタイムスタンプを受け入れません!

CELERY_ENABLE_UTC = Falseを使用すると、Programmがかなり損なわれます。

有効にすると、問題は解決されます。 しかし、η関数がある場合は、セロリに送信する前に時間を調整しなければなりません。もちろん、正確な時間枠がある場合は、これも調整してください。

関連する問題