Почему моя задача Celery не запускается на Heroku?Python

Программы на Python
Anonymous
Почему моя задача Celery не запускается на Heroku?

Сообщение Anonymous »

В настоящее время у меня есть докеризованное приложение Django, развернутое на Heroku. Недавно я добавил сельдерей с помощью Redis. Приложение отлично работает на моем устройстве, но когда я пытаюсь развернуть его на Heroku, все работает нормально, пока не запустится задача Celery. Однако ничего не происходит, и я не получаю никаких журналов ошибок от Heroku. Я использую celery-redis и следовал их инструкциям по настройке, но моя задача все еще не запускается при развертывании в Heroku. Вот мой код:
heroku.yml:

Код: Выделить всё

setup:
addons:
- plan: heroku-postgresql
- plan: heroku-redis
build:
docker:
web: Dockerfile
celery: Dockerfile
release:
image: web
command:
- python manage.py collectstatic --noinput
run:
web: gunicorn mysite.wsgi
celery: celery -A mysite worker --loglevel=info

views.py:

Код: Выделить всё

from celery.result import AsyncResult
task = transcribe_file_task.delay(file_path, audio_language, output_file_type, 'ai_transcribe_output', session_id)
task.py:

Код: Выделить всё

from celery import Celery
app = Celery('transcribe')#
@app.task

def transcribe_file_task(path, audio_language, output_file_type, dest_dir, session_id):
print(str("TASK: "+session_id))

#rest of code

return output_file
celery.py:

Код: Выделить всё

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

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

app = Celery("mysite")

app.config_from_object("django.conf:settings", namespace="CELERY")

app.autodiscover_tasks()
Я убедился, что мои CELERY_BROKER_URL и CELERY_RESULT_BACKEND получают правильный REDIS_URL из переменных среды, заставив его распечатать его значение перед выполнением задачи. началось. Я знаю, что проблема не в этом

Подробнее здесь: https://stackoverflow.com/questions/790 ... -on-heroku

Вернуться в «Python»