God , Resque, Resque-schedule, is working,but buggy. Need to combine with LDAP and also implement XML calendar sync.

This commit is contained in:
Matthew K. Fu JuYuan authored and Christophe Vilayphiou committed 2012-05-08 11:41:58 +08:00
1 parent 5b604037f8
commit d7194dc805
11 files changed
+104 -10

No files matched your search

+2
View File
@@ -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 = []
+1 -1
View File
@@ -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
+55
View File
@@ -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
+15 -3
View File
@@ -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