Skip to content

Instantly share code, notes, and snippets.

@libryder
Created February 1, 2012 20:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save libryder/1719154 to your computer and use it in GitHub Desktop.
Save libryder/1719154 to your computer and use it in GitHub Desktop.
A sample scheduling solution for rufus-scheduler running in Apache
require 'server_mon'
require 'call_testing'
SCHEDULER = Rufus::Scheduler.start_new
TESTCALL = SCHEDULER.every '10m', :tags => 'testcall' do
CallTesting.test_call
end
CALLENGINE_MON = SCHEDULER.every '5m', :tags => 'callengine' do
ServerMon.check_callengine
end
TRANSCODER_MON = SCHEDULER.every '5m', :tags => 'transcoder' do
ServerMon.check_transcoder
end
if defined?(PhusionPassenger)
PhusionPassenger.on_event(:starting_worker_process) do |forked|
if forked
TESTCALL.trigger
CALLENGINE_MON.trigger
TRANSCODER_MON.trigger
else
# We're in conservative spawning mode. We don't need to do anything.
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment