2013-03-10 23:14:31 +00:00
|
|
|
#!/usr/bin/env ruby
|
2013-06-13 07:01:06 +00:00
|
|
|
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
|
|
|
|
|
2013-03-10 23:14:31 +00:00
|
|
|
|
|
|
|
$LOAD_PATH << './lib'
|
|
|
|
require 'rubygems'
|
|
|
|
require 'daemons'
|
|
|
|
dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
|
|
|
|
|
|
|
daemon_options = {
|
2013-05-07 20:45:00 +00:00
|
|
|
:multiple => true,
|
2013-03-10 23:14:31 +00:00
|
|
|
:dir_mode => :normal,
|
|
|
|
:dir => File.join(dir, 'tmp', 'pids'),
|
|
|
|
:backtrace => true
|
|
|
|
}
|
|
|
|
|
2013-05-07 20:45:00 +00:00
|
|
|
worker_count = 2
|
2013-03-10 23:14:31 +00:00
|
|
|
|
2013-05-07 20:45:00 +00:00
|
|
|
(1..worker_count).each {|count|
|
|
|
|
name = 'scheduler_runner' + count.to_s
|
|
|
|
Daemons.run_proc(name, daemon_options) do
|
|
|
|
if ARGV.include?('--')
|
|
|
|
ARGV.slice! 0..ARGV.index('--')
|
|
|
|
else
|
|
|
|
ARGV.clear
|
|
|
|
end
|
2013-06-13 07:01:06 +00:00
|
|
|
|
2013-05-07 20:45:00 +00:00
|
|
|
Dir.chdir dir
|
|
|
|
RAILS_ENV = ARGV.first || ENV['RAILS_ENV'] || 'development'
|
2013-06-13 07:01:06 +00:00
|
|
|
|
2013-05-07 20:45:00 +00:00
|
|
|
$stdout.reopen( dir + "/log/" + name + "_out.log", "w")
|
|
|
|
$stderr.reopen( dir + "/log/" + name + "_err.log", "w")
|
|
|
|
require File.join(dir, "config", "environment")
|
|
|
|
require 'scheduler'
|
2013-06-13 07:01:06 +00:00
|
|
|
|
2013-05-07 20:45:00 +00:00
|
|
|
Scheduler.run(count, worker_count)
|
|
|
|
end
|
2013-06-13 07:01:06 +00:00
|
|
|
}
|