2017-12-20 1 views
1

여기 총 셀러리와 장고 멍청한, 문제는 사소한 경우 미안 해요. 기본적으로 문제는 @ app.task에 의해 정의 된 모든 함수가 셀러리에 의해 처리되지 않고 셀러리가없는 것처럼 정상적으로 실행된다는 것입니다.셀러리에 의해 처리되지 셀러리 작업

내 celery_app.py 파일입니다 -

from __future__ import absolute_import 
import os 
from celery import Celery 
from django.conf import settings 

# set the default Django settings module for the 'celery' program. 
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') 

app = Celery(broker=settings.CELERY_BROKER_URL) 
app.config_from_object('django.conf:settings') 
app.autodiscover_tasks() 

if __name__ == '__main__': 
    app.start() 

내 tasks.py 파일이 있지만 -

from project.celery_app import app 

@app.task 
def mytask(): 
    ... 

I 도착 터미널에 셀러리를 실행에 다음과 같은 출력 -

-------------- [email protected] v4.1.0 (latentcall) 
---- **** ----- 
--- * *** * -- Windows-10-10.0.16299-SP0 2017-12-20 19:27:24 
-- * - **** --- 
- ** ---------- [config] 
- ** ---------- .> app:   __main__:0x229ce2884e0 
- ** ---------- .> transport: amqp://user:**@localhost:5672/myvhost 
- ** ---------- .> results:  disabled:// 
- *** --- * --- .> concurrency: 8 (solo) 
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this   worker) 
--- ***** ----- 
-------------- [queues] 
       .> celery   exchange=celery(direct) key=celery 


[tasks] 
    . account.tasks.mytask 

[2017-12-20 19:27:24,085: INFO/MainProcess] Connected to  amqp://user:**@127.0.0.1:5672/myvhost 
[2017-12-20 19:27:24,101: INFO/MainProcess] mingle: searching for neighbors 
[2017-12-20 19:27:25,126: INFO/MainProcess] mingle: all alone 
[2017-12-20 19:27:25,141: WARNING/MainProcess]  c:\programdata\anaconda2\envs\myenv\lib\site- packages\celery\fixups\django.py:202: UserWarning: Using settings.DEBUG leads to  a memory leak, never use this setting in production environments! 
    warnings.warn('Using settings.DEBUG leads to a memory leak, never ' 
[2017-12-20 19:27:25,141: INFO/MainProcess] [email protected] ready. 

내 작업은 샐러리에 알려져 있지만 그 일은 아무 것도하지 않습니다. 작업은 버튼 클릭으로 실행되고 -loglevel = debug를 사용하면 셀러리가 영향을받지 않는 것으로 나타납니다. 브로커, 셀러리 4.1.0, 파이썬 3 및 장고 - 1.10.5로 RabbitMQ를 사용하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

1

생각한 것처럼 단순한 실수입니다. mytask()에서 mytask.delay()으로 바꿔 셀러리가 받기 시작했습니다.