Module: Resque::Scheduler::Server::ServerMethods

Defined in:
lib/resque/scheduler/server.rb

Instance Method Summary collapse

Instance Method Details

#delayedObject



76
77
78
# File 'lib/resque/scheduler/server.rb', line 76

def delayed
  erb scheduler_template('delayed')
end

#delayed_cancel_nowObject



109
110
111
112
113
114
115
# File 'lib/resque/scheduler/server.rb', line 109

def delayed_cancel_now
  klass = Resque::Scheduler::Util.constantize(params['klass'])
  timestamp = params['timestamp']
  args = Resque.decode params['args']
  Resque.remove_delayed_job_from_timestamp(timestamp, klass, *args)
  redirect u('/delayed')
end

#delayed_clearObject



117
118
119
120
# File 'lib/resque/scheduler/server.rb', line 117

def delayed_clear
  Resque.reset_delayed_queue
  redirect u('delayed')
end

#delayed_jobs_klassObject



80
81
82
83
84
85
86
87
88
89
90
# File 'lib/resque/scheduler/server.rb', line 80

def delayed_jobs_klass
  begin
    klass = Resque::Scheduler::Util.constantize(params[:klass])
    @args = JSON.load(URI.decode(params[:args]))
    @timestamps = Resque.scheduled_at(klass, *@args)
  rescue
    @timestamps = []
  end

  erb scheduler_template('delayed_schedules')
end

#delayed_queue_nowObject



101
102
103
104
105
106
107
# File 'lib/resque/scheduler/server.rb', line 101

def delayed_queue_now
  timestamp = params['timestamp'].to_i
  if timestamp > 0
    Resque::Scheduler.enqueue_delayed_items_for_timestamp(timestamp)
  end
  redirect u('/overview')
end

#delayed_searchObject



92
93
94
95
# File 'lib/resque/scheduler/server.rb', line 92

def delayed_search
  @jobs = find_job(params[:search])
  erb scheduler_template('search')
end

#delayed_timestampObject



97
98
99
# File 'lib/resque/scheduler/server.rb', line 97

def delayed_timestamp
  erb scheduler_template('delayed_timestamp')
end

#delete_scheduleObject



68
69
70
71
72
73
74
# File 'lib/resque/scheduler/server.rb', line 68

def delete_schedule
  if Resque::Scheduler.dynamic
    job_name = params['job_name'] || params[:job_name]
    Resque.remove_schedule(job_name)
  end
  redirect u('/schedule')
end

#scheduleObject



32
33
34
35
# File 'lib/resque/scheduler/server.rb', line 32

def schedule
  Resque.reload_schedule! if Resque::Scheduler.dynamic
  erb scheduler_template('scheduler')
end

#schedule_requeueObject



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/resque/scheduler/server.rb', line 37

def schedule_requeue
  @job_name = params['job_name'] || params[:job_name]
  config = Resque.schedule[@job_name]
  @parameters = config['parameters'] || config[:parameters]
  if @parameters
    erb scheduler_template('requeue-params')
  else
    Resque::Scheduler.enqueue_from_config(config)
    redirect u('/overview')
  end
end

#schedule_requeue_with_paramsObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/resque/scheduler/server.rb', line 49

def schedule_requeue_with_params
  job_name = params['job_name'] || params[:job_name]
  config = Resque.schedule[job_name]
  # Build args hash from post data (removing the job name)
   = params.reject do |key, _value|
    key == 'job_name' || key == :job_name
  end

  # Merge constructed args hash with existing args hash for
  # the job, if it exists
  config_args = config['args'] || config[:args] || {}
  config_args = config_args.merge()

  # Insert the args hash into config and queue the resque job
  config = config.merge('args' => config_args)
  Resque::Scheduler.enqueue_from_config(config)
  redirect u('/overview')
end