2012-08-01 5 views
0

저는 최근에 배포 한 kombu/celery 설치입니다. 작업은 잘 실행되지만 run_every 속성을 존중하기보다는 거의 지속적으로 실행되는 것처럼 보입니다. 아마도 더 이상한 일이지만이 동작은 프로덕션에서만 나타나며 로컬에서 올바르게 작동합니다.Celery/Kombu ignoring run_every

tasks.py 다음과 같습니다

from celery.task import PeriodicTask 
from datetime import timedelta, datetime 

class FirstTask(PeriodicTask): 
    run_every = timedelta(seconds = 30) 
    # Do Stuff  

settings.py

BROKER_URL = "django://" 

import djcelery 
djcelery.setup_loader() 

플러스 'djcelery'INSTALLED_APPS에서 'kombu.transport.django'이 포함되어 있습니다.

그리고 제작 중에는 python manage.py celeryd -v 2 -B -s celery -E -l INFO을 실행하여 작업을 시작합니다. 나는 Chase Seibert의 tutorial을 따라 갔다.

답변

1

작업을 완료하는 데 시간이 얼마나 걸립니까? 그리고 다시 시도하기 전에 대기열을 지우려고 했습니까 (셀에 대기열에 이미 작업이있는 경우 셀러리가 run_every 설정을 따르지 않을 수 있습니다 ...)

+0

Ha ha : '알려진 1 개의 작업 대기열에서 5625 개의 메시지를 제거했습니다.'아마도 그 작업과 관련이 있습니다. 그들은 어떻게 그렇게 쌓아 놓았습니까? – Chris

+0

이전에 다른 간격이나 다른 코드로 시도 했습니까? 또는 작업을 실행하는 데 너무 오래 걸렸습니까? 또한 다른 셀러리 작업이 많은 경우 정기적 인 작업 실행을 지연시킬 수 있습니다 ('run_every'간격을 당연하게 생각하지 마십시오!). –

0

INSTALLED_APPS에 'kombu.transport.django'를 포함하는 이유는 무엇입니까? ..? 나는 셀러리와 꼬마가 같은 기능을 제공한다고 생각했다.