Как мне создать демон для запуска 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
Другие вопросы по тегам