Neste exemplo, mostrarei como você pode simplesmente configurar um daemon mailman com o gem daemons .
Primeiro, você precisará criar um script do mailman que receberá e processará seus e-mails:
#!/usr/bin/env ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'
require "#{File.dirname __FILE__}/../config/environment"
Mailman.config.pop3 = {} # server details go here
Mailman::Application.run do
default do
# process email
end
end
Vamos criar isso em script/mailman_server
. Não se esqueça de rodar chmod +x
naquele arquivo para poder rodar o script.
Em seguida, teremos que configurar nosso daemon. Também colocamos isso script/mailman_daemon
. Mais uma vez, não se esqueça de correr chmod +x
nele.
#!/usr/bin/env ruby
require 'rubygems'
require 'bundler/setup'
require 'daemons'
Daemons.run 'script/mailman_server'
Agora você pode executar os seguintes comandos em seu daemon:
bundle exec script/mailman_daemon start # to start your daemon
bundle exec script/mailman_daemon stop # to start your daemon
bundle exec script/mailman_daemon restart # to restart your daemon
Tudo é bastante simples.
Você também pode adicionar isso facilmente à sua configuração de implantação com o Capistrano. Para isso, aconselho você a usar o Capo que é uma ótima ferramenta para gerenciar suas receitas do Capistrano. Se você tiver configurado em seu aplicativo, poderá adicionar a receita dos daemons executando . Você só precisa definir os daemons variáveis para adicioná-lo para o carteiro em sua assim: .capo add ruby_daemons
config/deploy.rb
set :daemons, [:mailman]
Mais informações sobre a configuração do mailman podem ser encontradas aqui . Isso também cobre a configuração básica com a gema daemons .