Celery 찍어먹어보기
django-admin startproject mq_celery .
: Celery 를 사용해볼 장고를 띄움
pip install celery
: celery 설치
brew install rabbitmq
: 브로커 역할을 해줄 토끼mq
python manage.py startapp app1
mq_clerey/settings.py
에서 app1
을 추가해준다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1' # 이거 추가 안해줬다가 task에 잡히질 앉는 오류를 범했었다.
]
mq_celery/celery.py
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mq_celery.settings')
app = Celery('mq_celery')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks() # 이러면 등록된 앱들의 task를 오토로 챙겨온다.
app1/tasks.py
from __future__ import absolute_import, unicode_literals
from celery import shared_task
@shared_task
def add(x, y):
return x + y
celery -A mq_celery worker -l info
: celery 실행 tasks
에 테스크가 잡힌다.
임의로 테스크를 넣어주었다. 오타는 덤.
[2022-04-06 13:37:51,037: INFO/MainProcess] Task app1.tasks.add[677b0c4e-ab18-4a3c-a076-6bb0d5f20678] received
[2022-04-06 13:37:51,041: INFO/ForkPoolWorker-8] Task app1.tasks.add[677b0c4e-ab18-4a3c-a076-6bb0d5f20678] succeeded in 0.0006483820034191012s: 8
[2022-04-06 13:39:11,150: INFO/MainProcess] Task app1.tasks.add[1fcdab19-11fc-4c5f-8cf9-87df5525d4b4] received
[2022-04-06 13:39:22,370: INFO/ForkPoolWorker-8] Task app1.tasks.add[1fcdab19-11fc-4c5f-8cf9-87df5525d4b4] succeeded in 0.000147557002492249s: 6
[2022-04-06 13:39:32,711: INFO/MainProcess] Task app1.tasks.add[4bddfcb3-d309-41c8-9d41-03cc94ac1793] received
[2022-04-06 13:39:34,297: INFO/ForkPoolWorker-8] Task app1.tasks.add[4bddfcb3-d309-41c8-9d41-03cc94ac1793] succeeded in 0.00013701198622584343s: 6
결과는 잘 나오는군.
(아직 할 거 더 남음)
celery 이용해보는 와중에 celery 공식 문서가 다운되었다. (꼭 맘잡고 뭘 해보려면 이런일이...)
그리고 공식문서 사이트가 https가 아닌 http다.... 처음 접하는 celery인데 유명한 오픈소스같은데 http..?
Author And Source
이 문제에 관하여(Celery 찍어먹어보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jungbumwoo/Celery-찍어먹어보기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)