나는 Heroku와 함께 배포 한 Django 응용 프로그램을 가지고 있습니다. 매분마다 정기적 인 작업을 작성하기 위해 셀러리를 사용하려고합니다. 그러나 다음 명령을 사용하여 작업자 로그를 관찰 할 때 :Django Celery Periodic Task가 실행되지 않습니다 (Heroku)?
heroku logs -t -p worker
실행중인 작업이 표시되지 않습니다. 아마도 제가 실종 된 단계가 있을까요? 이
web: gunicorn activiist.wsgi --log-file -
worker: celery worker --app=trending.tasks.app
Tasks.py
import celery
app = celery.Celery('activiist')
import os
from celery.schedules import crontab
from celery.task import periodic_task
from django.conf import settings
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
app.conf.update(BROKER_URL=os.environ['REDIS_URL'],
CELERY_RESULT_BACKEND=os.environ['REDIS_URL'])
os.environ['DJANGO_SETTINGS_MODULE'] = 'activiist.settings'
from trending.views import *
@periodic_task(run_every=crontab())
def add():
getarticles(30)
한 가지 추가 할 아래에있는 내 구성 ...
Procfile입니다. 파이썬 셸과 "delay()"명령을 사용하여 작업을 실행하면 작업이 실제로 실행됩니다 (로그에 표시됨). 그러나 실행될 때만 한 번만 실행됩니다. 해당 줄을 생략 할 수 있도록
web: gunicorn activiist.wsgi --log-file -
worker: celery worker --app=trending.tasks.app
beat: celery --app=trending.tasks.app
근무주기적인 작업에 필요하지 않습니다 :