Как мне создать демон для запуска SMTP-сервера в стеке Rails?
Я запускаю приложение rails, которое, помимо прочего, должно выполнять роль своего собственного SMTP-сервера. Мини-SMTP-сервер выглядит очень хорошо, но я не знаю, как заставить его работать как демон. Я хотел бы иметь возможность работать с входящими сообщениями, и мне нужно иметь полный стек Rails, доступный для других задач.
Я посмотрел на гем демонов, и он кажется подходящим, но я не знаю, как подключить его, чтобы начать слушать SMTP-сообщения разумным способом.
1 ответ
Решение
Создайте Rake-задачу Rake smtp_server, убедитесь, что она зависит от среды, а затем напишите свой код для SMTP-сервера в этой задаче. Посмотрите на эту ветку для настройки задачи rake как демона: Daemoninsing rake task
desc 'smtp_server'
task :smtp_server => :environment do
# Create a new server instance listening at 127.0.0.1:2525
# and accepting a maximum of 4 simultaneous connections
server = MiniSmtpServer.new(2525, "127.0.0.1", 4)
# Start the server
server.start
# Join the thread to main pool
server.join
end