2013-01-29 3 views
3

셀러리가 시작될 때 작업을 시작해야합니다. 이 작업은 콜백/η을 통해 5 분마다 실행됩니다.셀러리 : 시작시 작업 시작

은 내가하지만 셀러리에 도움, 아르노 3.

감사를 작동하는 것 같다 아무것도에 대한 몇 가지 스레드를 찾을 수 있습니다.

답변

6

누군가가 나에게 "worker_ready.connect"신호를 사용하여 해당 작업을 수행 할 수있는 권리 방법을 제공 지금 매력!

0

당신은 설정에서 정의해야합니다 또한

import djcelery 
djcelery.setup_loader() 
CELERY_IMPORTS = ("apps.app_name.module.tasks",) 

당신이 셀러리 브로커를 instaled 해달라고하면 당신이 그것을 사용하는 방법에 대한 아주 좋은 튜토리얼은 당신이 셀러리 설명서에있는 내가 RabbitMQ를 사용하고 하나를 설치해야합니다 :

django-admin.py celeryd -v 2 :

http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html 그리고 명령 줄 셀러리 악마에서 시작 http://docs.celeryproject.org/en/latest/userguide/signals.html#worker-ready

@worker_ready.connect 
    def at_start(sender, **k): 
     with sender.app.connection() as conn: 
      sender.app.send_task('app.modules.task', args,connection=conn, ...) 

그것은 다음과 같이 작동 -B -s 셀러리 -E -l 정보는 셀러리의 IRC 채널에

+0

안녕하세요, 답변 주셔서 감사합니다.하지만 제가 찾고있는 것이 아닌 것 같습니다. CELERY_IMPORTS 설정을 사용하면 가져올 세관 모듈을 정의 할 수 있습니다 (tasks.py에 작업을 입력하지 않은 경우). 내가 찾고있는 것은 데몬이 시작될 때 특정 작업을 자동으로 시작하는 방법입니다. 다음으로 콜백/ETA 시스템이 나머지 작업을 수행하고 있습니다. 도움 주셔서 감사합니다. –