jam-cloud/ruby/lib/jam_ruby/resque/scheduled/music_session_scheduler.rb

39 lines
821 B
Ruby

require 'json'
require 'resque'
require 'resque-retry'
require 'net/http'
require 'digest/md5'
module JamRuby
class MusicSessionScheduler
extend Resque::Plugins::LonelyJob
@queue = :music_session_scheduler
@@log = Logging.logger[MusicSessionScheduler]
def self.lock_timeout
120
end
def self.perform
@@log.debug("waking up")
JamWebEventMachine.run_wait_stop do
MusicSessionScheduler.new.run
end
@@log.debug("done")
end
def run
# get all weekly sessions that have ended in the last 15 minutes
criteria = "recurring_mode = 'weekly' AND session_removed_at is not null AND next_session_scheduled = false"
MusicSession.find_each(:conditions => criteria) do |music_session|
music_session.copy
end
end
end
end