From 7af17f19ac510efab9b129fa30257dc1d0ab3b31 Mon Sep 17 00:00:00 2001 From: "Matthew K. Fu JuYuan" Date: Tue, 8 May 2012 11:31:35 +0800 Subject: [PATCH] God , Resque, Resque-schedule, is working,but buggy. Need to combine with LDAP and also implement XML calendar sync. --- Gemfile | 1 + Gemfile.lock | 5 ++--- app/jobs/fetch_time.rb | 14 ++++++++------ config/initializers/resque.rb | 2 +- config/resque_schedule.yml | 18 +++++++++++++++--- 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 6e6bc39c..d6129092 100644 --- a/Gemfile +++ b/Gemfile @@ -21,6 +21,7 @@ gem 'radius' gem 'rake' gem 'resque' # background jobs gem 'resque-scheduler' # job scheduling +gem 'resque-restriction' gem 'ruby-debug19' gem 'rubyzip' gem 'sinatra' diff --git a/Gemfile.lock b/Gemfile.lock index 8e94537e..16acce21 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -161,6 +161,8 @@ GEM redis-namespace (~> 1.0.2) sinatra (>= 0.9.2) vegas (~> 0.1.2) + resque-restriction (0.3.0) + resque (>= 1.7.0) resque-scheduler (1.9.9) redis (>= 2.0.1) resque (>= 1.8.0) @@ -276,10 +278,7 @@ DEPENDENCIES rails (>= 3.1.0, < 3.2.0) rake resque -<<<<<<< HEAD resque-restriction -======= ->>>>>>> starting Resque resque-scheduler rspec (~> 2.0) rspec-rails (~> 2.0) diff --git a/app/jobs/fetch_time.rb b/app/jobs/fetch_time.rb index 7758cace..5fce3036 100644 --- a/app/jobs/fetch_time.rb +++ b/app/jobs/fetch_time.rb @@ -1,13 +1,15 @@ # require 'open-uri' # require 'nokogiri' -module FetchTime - @queue = :my_job_queue +class FetchTime < Resque::Plugins::RestrictionJob + restrict :per_300 => 10 + + @queue = :low def self.perform() # sleep 10 - # doc = Nokogiri::HTML(open('http://www.timeanddate.com/worldclock/city.html?n=241')) - # CronMail.time_check(doc.at('#ct').children.first.text).deliver - # puts "Mail Sent" - # true + doc = Nokogiri::HTML(open('http://www.timeanddate.com/worldclock/city.html?n=241')) + CronMail.time_check(doc.at('#ct').children.first.text).deliver + puts "Mail Sent" + true end end diff --git a/config/initializers/resque.rb b/config/initializers/resque.rb index 06a25da4..62de3fa4 100644 --- a/config/initializers/resque.rb +++ b/config/initializers/resque.rb @@ -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 diff --git a/config/resque_schedule.yml b/config/resque_schedule.yml index 6c960ede..10f97f5f 100644 --- a/config/resque_schedule.yml +++ b/config/resque_schedule.yml @@ -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 \ No newline at end of file