Постоянный приемник почтальона на эластичном бобовом стебле AWS
Я написал приложение rails, которое использует gem mailman-rails для проверки входящих сообщений Gmail на наличие новых сообщений и извлечения их после прочтения. Он использует mailman-rails, чтобы постоянный прослушиватель почтальона следил за входящими сообщениями на наличие новых сообщений.
Он отлично работает во всех отношениях, за исключением того, что когда я запускаю рабочий сервер, размещенный на AWS, почтовый сервер никогда не остается включенным более 24-36 часов. Я проверяю журналы и не вижу каких-либо критических ошибок, которые привели к отключению прослушивателя почтальона, поэтому я предполагаю, что это просто самоубийство или тайм-аут?
Или есть что-то в эластичной природе AWS EB, которая заставляет сервер периодически перезагружаться, что, очевидно, отключило бы почтальона?
Прямо сейчас я каждый раз вручную запускаю SSH для запуска на mailman с помощью rake mailman:start. Что я должен делать вместо этого?
Или как мне написать скрипт, который вручную перезапускает mailman каждые 5 часов или около того, чтобы убедиться, что он всегда включен?
1 ответ
Вы можете легко добавить задачу cron, используя.ebextensions и crontab AWS Elastic Beanstalk.
/questions/30707780/aws-elastic-beanstalk-rabotaet-cronjob/30707799#30707799 - отличное начало, однако я скажу, что вам нужно будет использовать полный путь для объединения и вызова команды через:
/usr/local/bin/bundle exec rake mailman:restart
Я достиг этой части через следующее: