Примечание. Я не был уверен, стоит ли мне спрашивать об этом здесь, переполнение стека или ???
Я переношу приложение Ruby on Rails с Heroku на AWS. Архитектура сервера довольно ванильная:
- База данных
- Веб сервер
- Рабочий сервер
База данных и веб-сервер успешно перенесены на AWS. Рабочий сервер находится на палубе.
FWIW: веб-сервер aws работает под управлением Ubuntu 20.x с Passenger / nginx в качестве http-сервера.
Сейчас я работаю над миграцией Worker, который развертывается с тем же кодом, что и веб-сервер. Единственная разница в том, что Worker не является общедоступным и использует Ruby Gem. delayed_job для обработки фоновых запросов.
Рабочий сервер
- Рабочий сервер был создан из ами на основе веб-сервера.
- Удалена конфигурация сервера nginx, которая была артефактом веб-сервера.
Вопросы
Как настроить рабочий сервер для автоматического запуска и запуска фоновых заданий при запуске сервера?
Как сохранить рабочий процесс, если он выйдет из строя и выключится?
В Heroku командная строка, запускающая рабочий сервер:
комплект заданий exec rake: работа
После запуска рабочего сервера я могу запустить приведенную выше команду, и рабочий процесс работает отлично. Просто нужно выяснить, как запустить рабочий процесс не в интерактивном режиме.
К вашему сведению: я работаю с Windows/.NET. Среда Linux/Ruby/Rails все еще довольно нова для меня.