바뀜

762 바이트 추가됨 ,  2023년 1월 12일 (목) 19:16
편집 요약 없음
71번째 줄: 71번째 줄:     
# Load task modules from all registered Django app configs.
 
# Load task modules from all registered Django app configs.
app.autodiscover_tasks()  # 선택사항. 자동으로 하위 앱의 tasks.py를 탐색한다.
+
app.autodiscover_tasks()  # 선택사항. 자동으로 하위 앱의 tasks.py를 탐색한다. 맨 마지막의 tasks를 바꾸면 다른 이름으로 지정할 수도 있다.
 +
# ex) app.autodiscover_othername()
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
152번째 줄: 153번째 줄:  
뭔가 성공적인 메시지가 뜨면 준비 완료.
 
뭔가 성공적인 메시지가 뜨면 준비 완료.
   −
task.py의 내용이 바뀌면 재실행 해주어야 한다.(장고의 내용이 바뀌면 재실행하듯.)
+
tasks.py의 내용이 바뀌면 재실행 해주어야 한다.(장고의 내용이 바뀌면 재실행하듯.)
|celery -A 프로젝트명.celery worker --loglevel=info
+
 
 +
 
 +
이후 task를 받으면 <code>[2023-01-12 19:11:47,323: INFO/SpawnPoolWorker-5] child process 4480 calling self.run()</code>과 같이 작업을 띄운다.
 +
|celery -A 프로젝트명 worker --loglevel=info
 +
|-
 +
|윈도우에서.
 +
|윈도우에선 지원을 하지 않는다. 윈도우에선 self.run()은 띄워도 작업이 진행되지 않는다.
 +
굳이 윈도우에서 쓰고 싶다면... 아래 라이브러리 설치 후 우측과 같이 쓰자.
 +
 
 +
pip install gevent
 +
|celery -A 프로젝트명 worker -l info -P gevent
 
|}
 
|}
 
이후 운용에선 굳이 셀러리를 시작시켜주는 게 아니라 장고에서 자연스레 돌리는 듯하다.[확인필요]
 
이후 운용에선 굳이 셀러리를 시작시켜주는 게 아니라 장고에서 자연스레 돌리는 듯하다.[확인필요]
211번째 줄: 222번째 줄:  
|-
 
|-
 
|task 작성
 
|task 작성
|
+
|task를 작성할 땐 에러메시지를 곧바로 피드백받기 어려우니....
 +
 
 +
일단 작성 후 view에서 delay() 없이 실행하며 작동을 확인한 후 진행하자.
 
|<syntaxhighlight lang="python">
 
|<syntaxhighlight lang="python">
 
from celery_tutorial.celery import app  # celery를 등록한 경로에서.
 
from celery_tutorial.celery import app  # celery를 등록한 경로에서.