У меня есть файл Dockerrun.aws.json
, который развертывает контейнер сельдерея на экземплярах EC2 с использованием мультиконтейнера Beanstalk.
В каждом развертывании по умолчанию Beanstalk или агент ECS убивает существующий контейнер сельдерея во всех экземплярах, а затем создает новый контейнер сельдерея. Это убивает задачи сельдерея незрелыми, что создает проблемы, так как задачи не могут достичь завершения.
В контейнере для сельдерея есть supervisord
, который фактически контролирует процесс сельдерея и выдает его всякий раз, когда он выходит из строя.
Может ли кто-нибудь подсказать, как мы можем изящно убивать контейнеры / процессы сельдерея, позволяя им выполнять задачи, которые они уже потребляли из SQS?