mirror of
https://github.com/moparisthebest/mailcatcher
synced 2024-10-31 15:35:07 -04:00
Allow running MailCatcher as a daemon.
This commit is contained in:
parent
8d6c237d62
commit
f8897680ce
@ -1,4 +1,5 @@
|
||||
require 'active_support/all'
|
||||
require 'daemons'
|
||||
require 'eventmachine'
|
||||
require 'thin'
|
||||
|
||||
@ -16,6 +17,7 @@ module MailCatcher
|
||||
:http_ip => '127.0.0.1',
|
||||
:http_port => '1080',
|
||||
:verbose => false,
|
||||
:daemon => false,
|
||||
}
|
||||
|
||||
def self.parse! arguments=ARGV, defaults=@@defaults
|
||||
@ -43,6 +45,10 @@ module MailCatcher
|
||||
options[:http_port] = port
|
||||
end
|
||||
|
||||
parser.on('-d', '--daemon', 'Run as a daemon') do
|
||||
options[:daemon] = true
|
||||
end
|
||||
|
||||
parser.on('-v', '--verbose', 'Be more verbose') do
|
||||
options[:verbose] = true
|
||||
end
|
||||
@ -66,9 +72,18 @@ module MailCatcher
|
||||
puts "==> http://#{options[:http_ip]}:#{options[:http_port]}"
|
||||
|
||||
Thin::Logging.silent = true
|
||||
|
||||
EventMachine.run do
|
||||
EventMachine.start_server options[:smtp_ip], options[:smtp_port], Smtp
|
||||
|
||||
Thin::Server.start options[:http_ip], options[:http_port], Web
|
||||
|
||||
if options[:daemon]
|
||||
# Make sure the servers start before daemonizing.
|
||||
EventMachine.next_tick do
|
||||
Daemons.daemonize :app_name => "mailcatcher"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user