2015-08-11 2 views
0

В настоящее время у меня есть установки postgres с расширением кол-sqlalchemy на AWS с использованием ElasticBeanstalk (EB). Postgres работает с использованием RDS. Теперь я хочу установить некоторые фоновые задачи. Я читал о сельдере, похоже, хорошо подходит для использования.установка сельдерея и redis с существующей колбой-sqlachemy-postgres

Я хочу понять, как я могу установить это на AWS, чтобы он разговаривал с одной и той же базой данных. Для реальных очередей я хочу использовать Redis. Бизнес-логика фонового процесса и то, что у меня есть в flask-webserver, очень переплетается. Как выглядит процесс развертывания (с или без EB). Я в порядке с настройкой нового экземпляра, если это необходимо для сельдерея и redis, если мне не нужно отдельно отделять бизнес-логику.

Еще одно хакерское решение, о котором я подумал, заключается в установке клонов на узле, который поражает определенные URL-адреса в приложении Flask для выполнения фоновых задач. Но я предпочел бы иметь более масштабируемое решение.

ответ

2

Я использую флягу с подобной установкой и я последовал за этот ответ:

How do you run a worker with AWS Elastic Beanstalk?

Я также установки Redis с помощью этого .config файл:

https://gist.github.com/yustam/9086610

Однако для моя настройка, я изменил эту команду:

command=/opt/python/run/venv/bin/python2.7 manage.py celery 

My manage.py имеет:

@manager.command 
def celery(): 
""" 
Start the celery worker. 
""" 
with app.app_context(): 
    return celery_main(['celery', 'worker']) 
Смежные вопросы