셀러리를 배우며 구성을 테스트하는 프로젝트를 만들었습니다. 최신 설명서에 따라 celery==4.0.0
과 django-celery-beat==1.0.1
을 설치했습니다. drf_project에서셀러리 정기 태스크가 실행되지 않습니다.
(manage.py와 주 프로젝트 DIR)가 drf_project/drf_project/settings.py에서
INSTALLED_APPS += ('django_celery_beat',)
CELERYBEAT_SCHEDULE = {
"test_1": {
"task": "tasks.print_test",
"schedule": timedelta(seconds=2),
},
}
drf_project/drf_project/INIT에서
from __future__ import absolute_import, unicode_literals
from celery import Celery
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'drf_project.settings')
app = Celery('drf_project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
을 /drf_project/celery.py 내 user_manageme에서 평
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ['celery_app']
NT 응용 프로그램 (drf_project/user_mangement /) 내가 추가 된 tasks.py
from celery import Celery
from time import strftime
app = Celery()
@app.task
def print_test():
print strftime('%Y-%m-%d %H:%M:%S')
with open('abc.txt', 'ab+') as test_file:
test_file.writeline(strftime('%Y-%m-%d %H:%M:%S'))
나는 셀러리 노동자와 다를 터미널 내 장고 프로젝트 dev에 서버 실행하면
celery -A drf_project worker -l info
및
python manage.py runserver
을
[tasks]
. user_management.tasks.print_test
:
내가 좋아하는 셀러리 로그에 내 작업을 볼 수 있습니다
하지만 실행되지 않습니다. 또한 어떤 오류도 발생하지 않습니다. 그래서 내가 뭘 잘못 했니? 나는 샐러리의 공식 문서를 따랐다.
나는'셀러리 -A의 drf_project의 beat'에 의해 비트 서비스를 시작했다. 하지만 여전히 작업이 실행되지 않습니다 그리고 난 장고 서버와 셀러리 어디서나 어떤 종류의 로그를 볼 수 없습니다. –
알아내는 데 며칠이 걸렸습니다. 비트는 예정대로 작업을 보냅니다. 그리고 그 작업들이 대기하고 있습니다. 그래서, 당신은 적어도 그 작업을 선택하고 실행되도록 작업을 시작해야합니다! –
@DatTT 팁 주셔서 감사합니다. –