Как настроить Celery и Celery Beat с Django, развернутым на Elastic Beanstalk Amazon Linux 2
Привет, я новичок в сельдерее, мне интересно, могут ли некоторые помочь мне с моим вопросом.
В нашем веб-приложении Django есть несколько фоновых задач, которые мы хотим запускать каждую полночь. Для этого я попробовал использовать celery с celery beat.
Я смог успешно реализовать планировщик фоновых задач с помощью celery beat и worker с Redis в качестве Celery broker, следуя руководству на:
https://docs.celeryq.dev/en/stable/django/first-steps-with-django.html#using-celery-with-django https://docs.celeryq.dev/en/latest/userguide/periodic-tasks.html
Функция работает локально, запуская серверы, планировщик и рабочих соответственно на отдельных терминалах.
Django Server
`python manage.py runserver`
Redis Server
`redis-server`
Работник сельдерея
`celery -A django_project.celery beat -l info`
Celery Beat Scheduler
`celery -A django_project worker -l info`
Мой вопрос в том, как мне настроить это для развертывания в Elastic Beanstalk?
Каким образом правильно настроить это с Elasticache в качестве сервера Redis?
Текущий стек:
Django 3.1 deployed on AWS Elastic Beanstalk
Python 3.8 running on 64bit Amazon Linux 2/3.3.9 with ElastiCache endpoint
redis==4.3.4 # https://pypi.org/project/redis/
celery==5.2.7 # https://pypi.org/project/celery/