God , Resque, Resque-schedule, is working,but buggy. Need to combine with LDAP and also implement XML calendar sync.
This commit is contained in:
1 parent
5b604037f8
commit
d7194dc805
11 files changed
+104
-10
No files matched your search
@@ -62,6 +62,8 @@ module Orbit
|
||||
|
||||
# Enable the asset pipeline
|
||||
config.assets.enabled = true
|
||||
#config.time_zone = 'Taipei'
|
||||
ENV['TZ'] = 'Asia/Taipei'
|
||||
end
|
||||
end
|
||||
Orbit_Apps = []
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'resque_scheduler'
|
||||
# require 'yaml'
|
||||
|
||||
Resque.redis = 'localhost:6379'
|
||||
Resque.redis.namespace = "resque:SchedulerExample"
|
||||
#Resque.redis.namespace = "resque:SchedulerExample"
|
||||
|
||||
# If you want to be able to dynamically change the schedule,
|
||||
# uncomment this line. A dynamic schedule can be updated via the
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
rails_env = 'development' #ENV['RAILS_ENV'] || "production"
|
||||
rails_root = ENV['RAILS_ROOT'] || "/Users/kaito/Documents/MyWorkspeace/orbit/orbit"
|
||||
num_workers = rails_env == 'production' ? 5 : 2
|
||||
|
||||
num_workers.times do |num|
|
||||
God.watch do |w|
|
||||
w.dir = "#{rails_root}"
|
||||
w.name = "resque-#{num}"
|
||||
w.group = 'resque'
|
||||
w.interval = 30.seconds
|
||||
p "/usr/bin/rake -f #{rails_root}/Rakefile resque:work QUEUE=* RAILS_ENV=#{rails_env}"
|
||||
# w.env = {"QUEUE"=>"critical,high,low", "RAILS_ENV"=>rails_env}
|
||||
w.start = "rake -f #{rails_root}/Rakefile resque:work QUEUE=* RAILS_ENV=#{rails_env}"
|
||||
|
||||
w.uid = 'kaito'
|
||||
w.gid = 'staff'
|
||||
|
||||
# restart if memory gets too high
|
||||
w.transition(:up, :restart) do |on|
|
||||
on.condition(:memory_usage) do |c|
|
||||
c.above = 350.megabytes
|
||||
c.times = 2
|
||||
end
|
||||
end
|
||||
|
||||
# determine the state on startup
|
||||
w.transition(:init, { true => :up, false => :start }) do |on|
|
||||
on.condition(:process_running) do |c|
|
||||
c.running = true
|
||||
end
|
||||
end
|
||||
|
||||
# determine when process has finished starting
|
||||
w.transition([:start, :restart], :up) do |on|
|
||||
on.condition(:process_running) do |c|
|
||||
c.running = true
|
||||
c.interval = 5.seconds
|
||||
end
|
||||
|
||||
# failsafe
|
||||
on.condition(:tries) do |c|
|
||||
c.times = 5
|
||||
c.transition = :start
|
||||
c.interval = 5.seconds
|
||||
end
|
||||
end
|
||||
|
||||
# start if process is not running
|
||||
w.transition(:up, :start) do |on|
|
||||
on.condition(:process_running) do |c|
|
||||
c.running = false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,5 +1,17 @@
|
||||
do_my_job:
|
||||
every: 30s
|
||||
do_mail_matt:
|
||||
every: 10s
|
||||
class: FetchTime
|
||||
args:
|
||||
description: Runs the perform method in MyJob
|
||||
description: Runs the perform method in FetchTime
|
||||
|
||||
nccu_daily_ldap_sync:
|
||||
cron: 30 * * * * *
|
||||
class: SyncDb
|
||||
args:
|
||||
description: Runs the perform method in SnycDB
|
||||
|
||||
nccu_claender_sync:
|
||||
every: 1m
|
||||
class: NccuCalendar
|
||||
args:
|
||||
description: Runs the perform method in NccuCalendar
|
||||
Reference in new issue
Block a user