georgepalmer / backgroundrb_merb

A fork of backgroundrb for MERB

This URL has Read+Write access

backgroundrb_merb / examples / foo_controller.rb
100644 45 lines (37 sloc) 1.165 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class FooController < ApplicationController
  layout :choose_layout
  def index
  end
 
  def mobile_action
    #render :layout => "mobile"
  end
 
  def start_worker
    MiddleMan.new_worker(:worker => :error_worker, :job_key => :hello_world,:data => "wow_man",:schedule => { :hello_world => { :trigger_args => "*/5 * * * * * *",:data => "hello_world" }})
    render :text => "worker starterd"
  end
 
  def stop_worker
    MiddleMan.delete_worker(:worker => :error_worker, :job_key => :hello_world)
    render :text => "worker deleted"
  end
 
  def invoke_worker_method
    worker_response = MiddleMan.send_request(:worker => :world_worker, :worker_method => :hello_world)
    render :text => worker_response
  end
 
  def renew
    MiddleMan.ask_work(:worker => :renewal_worker, :worker_method => :load_policies)
    render :text => "method invoked"
  end
 
  def ask_status
    t_response = MiddleMan.query_all_workers
    running_workers = t_response.map { |key,value| "#{key} = #{value}"}.join(',')
    render :text => running_workers
  end
 
  private
  def choose_layout
    if action_name == 'mobile_action'
      "mobile"
    else
      "foo"
    end
  end
end