2013-11-02 06:57:50 +08:00
|
|
|
require "demon/base"
|
2013-10-10 10:33:52 +08:00
|
|
|
|
|
|
|
class Demon::Sidekiq < Demon::Base
|
2013-11-02 06:57:50 +08:00
|
|
|
|
2013-10-10 10:33:52 +08:00
|
|
|
def self.prefix
|
|
|
|
"sidekiq"
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2014-04-17 13:57:17 +08:00
|
|
|
def suppress_stdout
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def suppress_stderr
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
2013-10-10 10:33:52 +08:00
|
|
|
def after_fork
|
2014-04-17 13:57:17 +08:00
|
|
|
STDERR.puts "Loading Sidekiq in process id #{Process.pid}"
|
2013-10-10 10:33:52 +08:00
|
|
|
require 'sidekiq/cli'
|
2014-06-03 15:17:10 +08:00
|
|
|
# CLI will close the logger, if we have one set we can be in big
|
|
|
|
# trouble, if STDOUT is closed in our process all sort of weird
|
|
|
|
# will ensue, resetting the logger ensures it will reinit correctly
|
|
|
|
# parent process is in charge of the file anyway.
|
|
|
|
Sidekiq::Logging.logger = nil
|
2013-11-02 06:57:50 +08:00
|
|
|
cli = Sidekiq::CLI.instance
|
2014-05-14 08:21:11 +08:00
|
|
|
cli.parse(["-c", GlobalSetting.sidekiq_workers.to_s])
|
2014-04-17 13:57:17 +08:00
|
|
|
|
|
|
|
load Rails.root + "config/initializers/sidekiq.rb"
|
2013-11-02 06:57:50 +08:00
|
|
|
cli.run
|
|
|
|
rescue => e
|
|
|
|
STDERR.puts e.message
|
|
|
|
STDERR.puts e.backtrace.join("\n")
|
|
|
|
exit 1
|
2013-10-10 10:33:52 +08:00
|
|
|
end
|
2013-11-02 06:57:50 +08:00
|
|
|
|
2013-10-10 10:33:52 +08:00
|
|
|
end
|