resque-admin-scheduler 1.0.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/bin/migrate_to_timestamps_set.rb +16 -0
  3. data/exe/resque-scheduler +2 -2
  4. data/lib/resque/scheduler/cli.rb +6 -6
  5. data/lib/resque/scheduler/delaying_extensions.rb +14 -14
  6. data/lib/resque/scheduler/env.rb +7 -7
  7. data/lib/resque/scheduler/lock.rb +1 -1
  8. data/lib/resque/scheduler/locking.rb +7 -7
  9. data/lib/resque/scheduler/logger_builder.rb +4 -4
  10. data/lib/resque/scheduler/scheduling_extensions.rb +4 -4
  11. data/lib/resque/scheduler/server/views/delayed.erb +4 -4
  12. data/lib/resque/scheduler/server/views/search.erb +1 -1
  13. data/lib/resque/scheduler/server.rb +37 -37
  14. data/lib/resque/scheduler/signal_handling.rb +1 -1
  15. data/lib/resque/scheduler/tasks.rb +6 -6
  16. data/lib/resque/scheduler/util.rb +4 -4
  17. data/lib/resque/scheduler_admin/cli.rb +147 -0
  18. data/lib/resque/scheduler_admin/delaying_extensions.rb +324 -0
  19. data/lib/resque/scheduler_admin/env.rb +89 -0
  20. data/lib/resque/scheduler_admin/lock.rb +4 -0
  21. data/lib/resque/scheduler_admin/locking.rb +104 -0
  22. data/lib/resque/scheduler_admin/logger_builder.rb +72 -0
  23. data/lib/resque/scheduler_admin/scheduling_extensions.rb +141 -0
  24. data/lib/resque/scheduler_admin/server/views/delayed.erb +63 -0
  25. data/lib/resque/scheduler_admin/server/views/search.erb +72 -0
  26. data/lib/resque/scheduler_admin/signal_handling.rb +40 -0
  27. data/lib/resque/scheduler_admin/tasks.rb +25 -0
  28. data/lib/resque/scheduler_admin/util.rb +39 -0
  29. data/lib/resque-admin-scheduler.rb +4 -0
  30. data/lib/resque_admin/scheduler/cli.rb +147 -0
  31. data/lib/{resque → resque_admin}/scheduler/configuration.rb +1 -1
  32. data/lib/resque_admin/scheduler/delaying_extensions.rb +324 -0
  33. data/lib/resque_admin/scheduler/env.rb +89 -0
  34. data/lib/{resque → resque_admin}/scheduler/extension.rb +1 -1
  35. data/lib/{resque → resque_admin}/scheduler/failure_handler.rb +2 -2
  36. data/lib/{resque → resque_admin}/scheduler/lock/base.rb +3 -3
  37. data/lib/{resque → resque_admin}/scheduler/lock/basic.rb +4 -4
  38. data/lib/{resque → resque_admin}/scheduler/lock/resilient.rb +4 -4
  39. data/lib/resque_admin/scheduler/lock.rb +4 -0
  40. data/lib/resque_admin/scheduler/locking.rb +104 -0
  41. data/lib/resque_admin/scheduler/logger_builder.rb +72 -0
  42. data/lib/{resque → resque_admin}/scheduler/plugin.rb +1 -1
  43. data/lib/resque_admin/scheduler/scheduling_extensions.rb +141 -0
  44. data/lib/resque_admin/scheduler/server/views/delayed.erb +63 -0
  45. data/lib/{resque → resque_admin}/scheduler/server/views/delayed_schedules.erb +0 -0
  46. data/lib/{resque → resque_admin}/scheduler/server/views/delayed_timestamp.erb +2 -2
  47. data/lib/{resque → resque_admin}/scheduler/server/views/requeue-params.erb +0 -0
  48. data/lib/{resque → resque_admin}/scheduler/server/views/scheduler.erb +7 -7
  49. data/lib/resque_admin/scheduler/server/views/search.erb +72 -0
  50. data/lib/{resque → resque_admin}/scheduler/server/views/search_form.erb +0 -0
  51. data/lib/resque_admin/scheduler/server.rb +268 -0
  52. data/lib/resque_admin/scheduler/signal_handling.rb +40 -0
  53. data/lib/resque_admin/scheduler/tasks.rb +25 -0
  54. data/lib/resque_admin/scheduler/util.rb +39 -0
  55. data/lib/{resque → resque_admin}/scheduler/version.rb +2 -2
  56. data/lib/{resque → resque_admin}/scheduler.rb +44 -44
  57. data/tasks/resque_admin_scheduler.rake +2 -0
  58. metadata +47 -85
  59. data/AUTHORS.md +0 -81
  60. data/CHANGELOG.md +0 -456
  61. data/CODE_OF_CONDUCT.md +0 -74
  62. data/CONTRIBUTING.md +0 -6
  63. data/Gemfile +0 -4
  64. data/LICENSE +0 -23
  65. data/README.md +0 -691
  66. data/Rakefile +0 -21
  67. data/lib/resque-scheduler.rb +0 -4
  68. data/resque-scheduler.gemspec +0 -60
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6160d26c46865fb0fc43c0bff6d1c7aec56e8181
4
- data.tar.gz: fb5889c360f0fddd2eeb5730b2fcdad4f4f84392
3
+ metadata.gz: 480fe9565b4e589d1af66f650d235c2cb1d17db5
4
+ data.tar.gz: 4ec0e5445bcb1b6cbb404ed1fe0d4e17c132cd4c
5
5
  SHA512:
6
- metadata.gz: 689647490f5553918f78c8341f27f232fb5424b8b0f561123671ffe461517879609d651597be86f992fc8dd1c495b543b7a70bba365b56bdb6c17c2202a6c5e8
7
- data.tar.gz: bd77fb6cac438fa114c355599b595a01ffa55f3c16ac936c914950a9fb495db6315b32c8f4c2e007ad5ce7a1e51443f9b37bb3d1426de0782858324d57aa5c77
6
+ metadata.gz: 46cc8ebbab4bae754421bd24b5a5e02e5b9762b3851ba38c9f2f543203907739c28fc0730d28e558f326c05a150f3c584cfd421116a6975274aabf0d5b1040cd
7
+ data.tar.gz: bd36ba04d100a60dea2599222b5a937aabe8dcc4c59351193ac8f0bcff3e0b74406d03f8b4eee35f5c67e18e4fdbbb4709480ca7c86c544b008b0eb48c528cf6
@@ -0,0 +1,16 @@
1
+ # vim:fileencoding=utf-8
2
+
3
+ require 'redis'
4
+ require 'resque_admin'
5
+
6
+ if ARGV.size != 1
7
+ puts 'migrate_to_timestamps_set.rb <redis-host:redis-port>'
8
+ exit
9
+ end
10
+
11
+ ResqueAdmin.redis = ARGV[0]
12
+ redis = ResqueAdmin.redis
13
+ Array(redis.keys('delayed:*')).each do |key|
14
+ jobs = redis.lrange(key, 0, -1)
15
+ jobs.each { |job| redis.sadd("timestamps:#{job}", key) }
16
+ end
data/exe/resque-scheduler CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  # vim:fileencoding=utf-8
3
3
 
4
- require 'resque-scheduler'
5
- Resque::Scheduler::Cli.run!
4
+ require 'resque_admin-scheduler'
5
+ ResqueAdmin::Scheduler::Cli.run!
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'optparse'
4
4
 
5
- module Resque
5
+ module ResqueAdmin
6
6
  module Scheduler
7
7
  CLI_OPTIONS_ENV_MAPPING = {
8
8
  app_name: 'APP_NAME',
@@ -20,9 +20,9 @@ module Resque
20
20
 
21
21
  class Cli
22
22
  BANNER = <<-EOF.gsub(/ {6}/, '')
23
- Usage: resque-scheduler [options]
23
+ Usage: resque_admin-scheduler [options]
24
24
 
25
- Runs a resque scheduler process directly (rather than via rake).
25
+ Runs a resque_admin scheduler process directly (rather than via rake).
26
26
 
27
27
  EOF
28
28
  OPTIONS = [
@@ -114,7 +114,7 @@ module Resque
114
114
  end
115
115
 
116
116
  def run_forever
117
- Resque::Scheduler.run
117
+ ResqueAdmin::Scheduler.run
118
118
  end
119
119
 
120
120
  private
@@ -122,13 +122,13 @@ module Resque
122
122
  attr_reader :argv, :env
123
123
 
124
124
  def runtime_env
125
- @runtime_env ||= Resque::Scheduler::Env.new(options)
125
+ @runtime_env ||= ResqueAdmin::Scheduler::Env.new(options)
126
126
  end
127
127
 
128
128
  def option_parser
129
129
  OptionParser.new do |opts|
130
130
  opts.banner = BANNER
131
- opts.version = Resque::Scheduler::VERSION
131
+ opts.version = ResqueAdmin::Scheduler::VERSION
132
132
  OPTIONS.each do |opt|
133
133
  opts.on(*opt[:args], &opt[:callback].call(options))
134
134
  end
@@ -1,9 +1,9 @@
1
1
  # vim:fileencoding=utf-8
2
- require 'resque'
2
+ require 'resque_admin'
3
3
  require_relative 'plugin'
4
4
  require_relative '../scheduler'
5
5
 
6
- module Resque
6
+ module ResqueAdmin
7
7
  module Scheduler
8
8
  module DelayingExtensions
9
9
  # This method is nearly identical to +enqueue+ only it also
@@ -19,21 +19,21 @@ module Resque
19
19
 
20
20
  # Identical to +enqueue_at+, except you can also specify
21
21
  # a queue in which the job will be placed after the
22
- # timestamp has passed. It respects Resque.inline option, by
22
+ # timestamp has passed. It respects ResqueAdmin.inline option, by
23
23
  # creating the job right away instead of adding to the queue.
24
24
  def enqueue_at_with_queue(queue, timestamp, klass, *args)
25
25
  return false unless plugin.run_before_schedule_hooks(klass, *args)
26
26
 
27
- if Resque.inline? || timestamp.to_i < Time.now.to_i
28
- # Just create the job and let resque perform it right away with
27
+ if ResqueAdmin.inline? || timestamp.to_i < Time.now.to_i
28
+ # Just create the job and let resque_admin perform it right away with
29
29
  # inline. If the class is a custom job class, call self#scheduled
30
30
  # on it. This allows you to do things like
31
- # Resque.enqueue_at(timestamp, CustomJobClass, :opt1 => val1).
32
- # Otherwise, pass off to Resque.
31
+ # ResqueAdmin.enqueue_at(timestamp, CustomJobClass, :opt1 => val1).
32
+ # Otherwise, pass off to ResqueAdmin.
33
33
  if klass.respond_to?(:scheduled)
34
34
  klass.scheduled(queue, klass.to_s, *args)
35
35
  else
36
- Resque::Job.create(queue, klass, *args)
36
+ ResqueAdmin::Job.create(queue, klass, *args)
37
37
  end
38
38
  else
39
39
  delayed_push(timestamp, job_to_hash_with_queue(queue, klass, args))
@@ -147,7 +147,7 @@ module Resque
147
147
  def enqueue_delayed(klass, *args)
148
148
  hash = job_to_hash(klass, args)
149
149
  remove_delayed(klass, *args).times do
150
- Resque::Scheduler.enqueue_from_config(hash)
150
+ ResqueAdmin::Scheduler.enqueue_from_config(hash)
151
151
  end
152
152
  end
153
153
 
@@ -210,7 +210,7 @@ module Resque
210
210
  # O(N) where N is the number of jobs scheduled to fire at the given
211
211
  # timestamp
212
212
  def remove_delayed_job_from_timestamp(timestamp, klass, *args)
213
- return 0 if Resque.inline?
213
+ return 0 if ResqueAdmin.inline?
214
214
 
215
215
  key = "delayed:#{timestamp.to_i}"
216
216
  encoded_job = encode(job_to_hash(klass, args))
@@ -232,8 +232,8 @@ module Resque
232
232
 
233
233
  # Discover if a job has been delayed.
234
234
  # Examples
235
- # Resque.delayed?(MyJob)
236
- # Resque.delayed?(MyJob, id: 1)
235
+ # ResqueAdmin.delayed?(MyJob)
236
+ # ResqueAdmin.delayed?(MyJob, id: 1)
237
237
  # Returns true if the job has been delayed
238
238
  def delayed?(klass, *args)
239
239
  !scheduled_at(klass, *args).empty?
@@ -266,7 +266,7 @@ module Resque
266
266
  end
267
267
 
268
268
  def remove_delayed_job(encoded_job)
269
- return 0 if Resque.inline?
269
+ return 0 if ResqueAdmin.inline?
270
270
 
271
271
  timestamps = redis.smembers("timestamps:#{encoded_job}")
272
272
 
@@ -317,7 +317,7 @@ module Resque
317
317
  end
318
318
 
319
319
  def plugin
320
- Resque::Scheduler::Plugin
320
+ ResqueAdmin::Scheduler::Plugin
321
321
  end
322
322
  end
323
323
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'English' # $PROCESS_ID
4
4
 
5
- module Resque
5
+ module ResqueAdmin
6
6
  module Scheduler
7
7
  class Env
8
8
  def initialize(options)
@@ -11,8 +11,8 @@ module Resque
11
11
  end
12
12
 
13
13
  def setup
14
- require 'resque'
15
- require 'resque/scheduler'
14
+ require 'resque_admin'
15
+ require 'resque_admin/scheduler'
16
16
 
17
17
  setup_backgrounding
18
18
  setup_pid_file
@@ -32,7 +32,7 @@ module Resque
32
32
 
33
33
  # Need to set this here for conditional Process.daemon redirect of
34
34
  # stderr/stdout to /dev/null
35
- Resque::Scheduler.quiet = if options.key?(:quiet)
35
+ ResqueAdmin::Scheduler.quiet = if options.key?(:quiet)
36
36
  !!options[:quiet]
37
37
  else
38
38
  true
@@ -42,8 +42,8 @@ module Resque
42
42
  abort 'background option is set, which requires ruby >= 1.9'
43
43
  end
44
44
 
45
- Process.daemon(true, !Resque::Scheduler.quiet)
46
- Resque.redis.client.reconnect
45
+ Process.daemon(true, !ResqueAdmin::Scheduler.quiet)
46
+ ResqueAdmin.redis.client.reconnect
47
47
  end
48
48
 
49
49
  def setup_pid_file
@@ -59,7 +59,7 @@ module Resque
59
59
  end
60
60
 
61
61
  def setup_scheduler_configuration
62
- Resque::Scheduler.configure do |c|
62
+ ResqueAdmin::Scheduler.configure do |c|
63
63
  c.app_name = options[:app_name] if options.key?(:app_name)
64
64
 
65
65
  c.dynamic = !!options[:dynamic] if options.key?(:dynamic)
@@ -1,4 +1,4 @@
1
1
  # vim:fileencoding=utf-8
2
2
  %w(base basic resilient).each do |file|
3
- require "resque/scheduler/lock/#{file}"
3
+ require "resque_admin/scheduler/lock/#{file}"
4
4
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ### Locking the scheduler process
4
4
  #
5
- # There are two places in resque-scheduler that need to be synchonized in order
5
+ # There are two places in resque_admin-scheduler that need to be synchonized in order
6
6
  # to be able to run redundant scheduler processes while ensuring jobs don't get
7
7
  # queued multiple times when the master process changes.
8
8
  #
@@ -23,7 +23,7 @@
23
23
  # should remain the master as long as it can rather than a simple SETNX which
24
24
  # would result in the master roll being passed around frequently.
25
25
  #
26
- # Locking Scheme: Each resque-scheduler process attempts to get the master lock
26
+ # Locking Scheme: Each resque_admin-scheduler process attempts to get the master lock
27
27
  # via SETNX. Once obtained, it sets the expiration for 3 minutes
28
28
  # (configurable). The master process continually updates the timeout on the
29
29
  # lock key to be 3 minutes in the future in it's loop(s) (see `run`) and when
@@ -51,7 +51,7 @@
51
51
 
52
52
  require_relative 'lock'
53
53
 
54
- module Resque
54
+ module ResqueAdmin
55
55
  module Scheduler
56
56
  module Locking
57
57
  def master_lock
@@ -84,20 +84,20 @@ module Resque
84
84
 
85
85
  def build_master_lock
86
86
  if supports_lua?
87
- Resque::Scheduler::Lock::Resilient.new(master_lock_key)
87
+ ResqueAdmin::Scheduler::Lock::Resilient.new(master_lock_key)
88
88
  else
89
- Resque::Scheduler::Lock::Basic.new(master_lock_key)
89
+ ResqueAdmin::Scheduler::Lock::Basic.new(master_lock_key)
90
90
  end
91
91
  end
92
92
 
93
93
  def master_lock_key
94
94
  lock_prefix = ENV['RESQUE_SCHEDULER_MASTER_LOCK_PREFIX'] || ''
95
95
  lock_prefix += ':' if lock_prefix != ''
96
- "#{Resque.redis.namespace}:#{lock_prefix}resque_scheduler_master_lock"
96
+ "#{ResqueAdmin.redis.namespace}:#{lock_prefix}resque_scheduler_master_lock"
97
97
  end
98
98
 
99
99
  def redis_master_version
100
- Resque.redis.info['redis_version'].to_f
100
+ ResqueAdmin.redis.info['redis_version'].to_f
101
101
  end
102
102
  end
103
103
  end
@@ -2,12 +2,12 @@
2
2
 
3
3
  require 'mono_logger'
4
4
 
5
- module Resque
5
+ module ResqueAdmin
6
6
  module Scheduler
7
7
  # Just builds a logger, with specified verbosity and destination.
8
8
  # The simplest example:
9
9
  #
10
- # Resque::Scheduler::LoggerBuilder.new.build
10
+ # ResqueAdmin::Scheduler::LoggerBuilder.new.build
11
11
  class LoggerBuilder
12
12
  # Initializes new instance of the builder
13
13
  #
@@ -51,7 +51,7 @@ module Resque
51
51
 
52
52
  def text_formatter
53
53
  proc do |severity, datetime, _progname, msg|
54
- "resque-scheduler: [#{severity}] #{datetime.iso8601}: #{msg}\n"
54
+ "resque_admin-scheduler: [#{severity}] #{datetime.iso8601}: #{msg}\n"
55
55
  end
56
56
  end
57
57
 
@@ -59,7 +59,7 @@ module Resque
59
59
  proc do |severity, datetime, progname, msg|
60
60
  require 'json'
61
61
  JSON.dump(
62
- name: 'resque-scheduler',
62
+ name: 'resque_admin-scheduler',
63
63
  progname: progname,
64
64
  level: severity,
65
65
  timestamp: datetime.iso8601,
@@ -1,6 +1,6 @@
1
1
  # vim:fileencoding=utf-8
2
2
 
3
- module Resque
3
+ module ResqueAdmin
4
4
  module Scheduler
5
5
  module SchedulingExtensions
6
6
  # Accepts a new schedule configuration of the form:
@@ -19,7 +19,7 @@ module Resque
19
19
  # Hash keys can be anything and are used to describe and reference
20
20
  # the scheduled job. If the "class" argument is missing, the key
21
21
  # is used implicitly as "class" argument - in the "MakeTea" example,
22
- # "MakeTea" is used both as job name and resque worker class.
22
+ # "MakeTea" is used both as job name and resque_admin worker class.
23
23
  #
24
24
  # Any jobs that were in the old schedule, but are not
25
25
  # present in the new schedule, will be removed.
@@ -30,7 +30,7 @@ module Resque
30
30
  # usage for valid syntax. If :cron is present it will take precedence
31
31
  # over :every.
32
32
  #
33
- # :class must be a resque worker class. If it is missing, the job name
33
+ # :class must be a resque_admin worker class. If it is missing, the job name
34
34
  # (hash key) will be used as :class.
35
35
  #
36
36
  # :args can be any yaml which will be converted to a ruby literal and
@@ -76,7 +76,7 @@ module Resque
76
76
  # Note: values for class and custom_job_class need to be strings,
77
77
  # not constants.
78
78
  #
79
- # Resque.set_schedule('some_job', {:class => 'SomeJob',
79
+ # ResqueAdmin.set_schedule('some_job', {:class => 'SomeJob',
80
80
  # :every => '15mins',
81
81
  # :queue => 'high',
82
82
  # :args => '/tmp/poop'})
@@ -1,5 +1,5 @@
1
1
  <h1>Delayed Jobs</h1>
2
- <%- size = resque.delayed_queue_schedule_size %>
2
+ <%- size = resque_admin.delayed_queue_schedule_size %>
3
3
 
4
4
  <%= scheduler_view :search_form, layout: false %>
5
5
 
@@ -25,7 +25,7 @@
25
25
  <th>Args</th>
26
26
  <th>All schedules</th>
27
27
  </tr>
28
- <% resque.delayed_queue_peek(start, 20).each do |timestamp| %>
28
+ <% resque_admin.delayed_queue_peek(start, 20).each do |timestamp| %>
29
29
  <tr>
30
30
  <td>
31
31
  <form action="<%= u "/delayed/queue_now" %>" method="post">
@@ -34,8 +34,8 @@
34
34
  </form>
35
35
  </td>
36
36
  <td><a href="<%= u "delayed/#{timestamp}" %>"><%= format_time(Time.at(timestamp)) %></a></td>
37
- <td><%= delayed_timestamp_size = resque.delayed_timestamp_size(timestamp) %></td>
38
- <% job = resque.delayed_timestamp_peek(timestamp, 0, 1).first %>
37
+ <td><%= delayed_timestamp_size = resque_admin.delayed_timestamp_size(timestamp) %></td>
38
+ <% job = resque_admin.delayed_timestamp_peek(timestamp, 0, 1).first %>
39
39
  <td>
40
40
  <% if job && delayed_timestamp_size == 1 %>
41
41
  <%= h(job['class']) %>
@@ -23,7 +23,7 @@
23
23
  <form action="<%= u "/delayed/cancel_now" %>" method="post">
24
24
  <input type="hidden" name="timestamp" value="<%= job['timestamp'].to_i %>">
25
25
  <input type="hidden" name="klass" value="<%= job['class'] %>">
26
- <input type="hidden" name="args" value="<%= h(Resque.encode job['args']) %>">
26
+ <input type="hidden" name="args" value="<%= h(ResqueAdmin.encode job['args']) %>">
27
27
  <input type="submit" value="Cancel Job">
28
28
  </form>
29
29
  </td>
@@ -1,16 +1,16 @@
1
1
  # vim:fileencoding=utf-8
2
- require 'resque-scheduler'
3
- require 'resque/server'
2
+ require 'resque_admin-scheduler'
3
+ require 'resque_admin/server'
4
4
  require 'tilt/erb'
5
5
  require 'json'
6
6
 
7
- # Extend Resque::Server to add tabs
8
- module Resque
7
+ # Extend ResqueAdmin::Server to add tabs
8
+ module ResqueAdmin
9
9
  module Scheduler
10
10
  module Server
11
11
  TIMESTAMP_FORMAT = '%Y-%m-%d %H:%M:%S %z'.freeze
12
12
 
13
- unless defined?(::Resque::Scheduler::Server::VIEW_PATH)
13
+ unless defined?(::ResqueAdmin::Scheduler::Server::VIEW_PATH)
14
14
  VIEW_PATH = File.join(File.dirname(__FILE__), 'server', 'views')
15
15
  end
16
16
 
@@ -37,25 +37,25 @@ module Resque
37
37
 
38
38
  module ServerMethods
39
39
  def schedule
40
- Resque.reload_schedule! if Resque::Scheduler.dynamic
40
+ ResqueAdmin.reload_schedule! if ResqueAdmin::Scheduler.dynamic
41
41
  erb scheduler_template('scheduler')
42
42
  end
43
43
 
44
44
  def schedule_requeue
45
45
  @job_name = params['job_name'] || params[:job_name]
46
- config = Resque.schedule[@job_name]
46
+ config = ResqueAdmin.schedule[@job_name]
47
47
  @parameters = config['parameters'] || config[:parameters]
48
48
  if @parameters
49
49
  erb scheduler_template('requeue-params')
50
50
  else
51
- Resque::Scheduler.enqueue_from_config(config)
51
+ ResqueAdmin::Scheduler.enqueue_from_config(config)
52
52
  redirect u('/overview')
53
53
  end
54
54
  end
55
55
 
56
56
  def schedule_requeue_with_params
57
57
  job_name = params['job_name'] || params[:job_name]
58
- config = Resque.schedule[job_name]
58
+ config = ResqueAdmin.schedule[job_name]
59
59
  # Build args hash from post data (removing the job name)
60
60
  submitted_args = params.reject do |key, _value|
61
61
  key == 'job_name' || key == :job_name
@@ -66,16 +66,16 @@ module Resque
66
66
  config_args = config['args'] || config[:args] || {}
67
67
  config_args = config_args.merge(submitted_args)
68
68
 
69
- # Insert the args hash into config and queue the resque job
69
+ # Insert the args hash into config and queue the resque_admin job
70
70
  config = config.merge('args' => config_args)
71
- Resque::Scheduler.enqueue_from_config(config)
71
+ ResqueAdmin::Scheduler.enqueue_from_config(config)
72
72
  redirect u('/overview')
73
73
  end
74
74
 
75
75
  def delete_schedule
76
- if Resque::Scheduler.dynamic
76
+ if ResqueAdmin::Scheduler.dynamic
77
77
  job_name = params['job_name'] || params[:job_name]
78
- Resque.remove_schedule(job_name)
78
+ ResqueAdmin.remove_schedule(job_name)
79
79
  end
80
80
  redirect u('/schedule')
81
81
  end
@@ -86,9 +86,9 @@ module Resque
86
86
 
87
87
  def delayed_jobs_klass
88
88
  begin
89
- klass = Resque::Scheduler::Util.constantize(params[:klass])
89
+ klass = ResqueAdmin::Scheduler::Util.constantize(params[:klass])
90
90
  @args = JSON.load(URI.decode(params[:args]))
91
- @timestamps = Resque.scheduled_at(klass, *@args)
91
+ @timestamps = ResqueAdmin.scheduled_at(klass, *@args)
92
92
  rescue
93
93
  @timestamps = []
94
94
  end
@@ -108,11 +108,11 @@ module Resque
108
108
  def delayed_queue_now
109
109
  timestamp = params['timestamp'].to_i
110
110
  formatted_time = Time.at(timestamp).strftime(
111
- ::Resque::Scheduler::Server::TIMESTAMP_FORMAT
111
+ ::ResqueAdmin::Scheduler::Server::TIMESTAMP_FORMAT
112
112
  )
113
113
 
114
114
  if timestamp > 0
115
- unless Resque::Scheduler.enqueue_next_item(timestamp)
115
+ unless ResqueAdmin::Scheduler.enqueue_next_item(timestamp)
116
116
  @error_message = "Unable to remove item at #{formatted_time}"
117
117
  end
118
118
  else
@@ -123,22 +123,22 @@ module Resque
123
123
  end
124
124
 
125
125
  def delayed_cancel_now
126
- klass = Resque::Scheduler::Util.constantize(params['klass'])
126
+ klass = ResqueAdmin::Scheduler::Util.constantize(params['klass'])
127
127
  timestamp = params['timestamp']
128
- args = Resque.decode params['args']
129
- Resque.remove_delayed_job_from_timestamp(timestamp, klass, *args)
128
+ args = ResqueAdmin.decode params['args']
129
+ ResqueAdmin.remove_delayed_job_from_timestamp(timestamp, klass, *args)
130
130
  redirect u('/delayed')
131
131
  end
132
132
 
133
133
  def delayed_clear
134
- Resque.reset_delayed_queue
134
+ ResqueAdmin.reset_delayed_queue
135
135
  redirect u('delayed')
136
136
  end
137
137
  end
138
138
 
139
139
  module HelperMethods
140
140
  def format_time(t)
141
- t.strftime(::Resque::Scheduler::Server::TIMESTAMP_FORMAT)
141
+ t.strftime(::ResqueAdmin::Scheduler::Server::TIMESTAMP_FORMAT)
142
142
  end
143
143
 
144
144
  def show_job_arguments(args)
@@ -146,8 +146,8 @@ module Resque
146
146
  end
147
147
 
148
148
  def queue_from_class_name(class_name)
149
- Resque.queue_from_class(
150
- Resque::Scheduler::Util.constantize(class_name)
149
+ ResqueAdmin.queue_from_class(
150
+ ResqueAdmin::Scheduler::Util.constantize(class_name)
151
151
  )
152
152
  end
153
153
 
@@ -161,8 +161,8 @@ module Resque
161
161
  j.merge!('where_at' => 'delayed')
162
162
  end
163
163
 
164
- Resque.queues.each do |queue|
165
- queued = Resque.peek(queue, 0, Resque.size(queue))
164
+ ResqueAdmin.queues.each do |queue|
165
+ queued = ResqueAdmin.peek(queue, 0, ResqueAdmin.size(queue))
166
166
  queued = [queued] unless queued.is_a?(Array)
167
167
  results += queued.select do |j|
168
168
  j['class'].downcase.include?(worker) &&
@@ -212,11 +212,11 @@ module Resque
212
212
 
213
213
  def scheduled_in_this_env?(name)
214
214
  return true if rails_env(name).nil?
215
- rails_env(name).split(/[\s,]+/).include?(Resque::Scheduler.env)
215
+ rails_env(name).split(/[\s,]+/).include?(ResqueAdmin::Scheduler.env)
216
216
  end
217
217
 
218
218
  def rails_env(name)
219
- Resque.schedule[name]['rails_env'] || Resque.schedule[name]['env']
219
+ ResqueAdmin.schedule[name]['rails_env'] || ResqueAdmin.schedule[name]['env']
220
220
  end
221
221
 
222
222
  def scheduler_view(filename, options = {}, locals = {})
@@ -228,7 +228,7 @@ module Resque
228
228
 
229
229
  def working_jobs_for_worker(worker)
230
230
  [].tap do |results|
231
- working = [*Resque.working]
231
+ working = [*ResqueAdmin.working]
232
232
  work = working.select do |w|
233
233
  w.job && w.job['payload'] &&
234
234
  w.job['payload']['class'].downcase.include?(worker)
@@ -245,10 +245,10 @@ module Resque
245
245
 
246
246
  def delayed_jobs_for_worker(_worker)
247
247
  [].tap do |dels|
248
- schedule_size = Resque.delayed_queue_schedule_size
249
- Resque.delayed_queue_peek(0, schedule_size).each do |d|
250
- Resque.delayed_timestamp_peek(
251
- d, 0, Resque.delayed_timestamp_size(d)
248
+ schedule_size = ResqueAdmin.delayed_queue_schedule_size
249
+ ResqueAdmin.delayed_queue_peek(0, schedule_size).each do |d|
250
+ ResqueAdmin.delayed_timestamp_peek(
251
+ d, 0, ResqueAdmin.delayed_timestamp_size(d)
252
252
  ).each do |j|
253
253
  dels << j.merge!('timestamp' => d)
254
254
  end
@@ -260,9 +260,9 @@ module Resque
260
260
  end
261
261
  end
262
262
 
263
- Resque::Server.tabs << 'Schedule'
264
- Resque::Server.tabs << 'Delayed'
263
+ ResqueAdmin::Server.tabs << 'Schedule'
264
+ ResqueAdmin::Server.tabs << 'Delayed'
265
265
 
266
- Resque::Server.class_eval do
267
- include Resque::Scheduler::Server
266
+ ResqueAdmin::Server.class_eval do
267
+ include ResqueAdmin::Scheduler::Server
268
268
  end
@@ -1,6 +1,6 @@
1
1
  # vim:fileencoding=utf-8
2
2
 
3
- module Resque
3
+ module ResqueAdmin
4
4
  module Scheduler
5
5
  module SignalHandling
6
6
  attr_writer :signal_queue
@@ -1,18 +1,18 @@
1
1
  # vim:fileencoding=utf-8
2
2
 
3
- require 'resque/tasks'
4
- require 'resque-scheduler'
3
+ require 'resque_admin/tasks'
4
+ require 'resque_admin-scheduler'
5
5
 
6
- namespace :resque do
6
+ namespace :resque_admin do
7
7
  task :setup
8
8
 
9
9
  def scheduler_cli
10
- @scheduler_cli ||= Resque::Scheduler::Cli.new(
10
+ @scheduler_cli ||= ResqueAdmin::Scheduler::Cli.new(
11
11
  %W(#{ENV['RESQUE_SCHEDULER_OPTIONS']})
12
12
  )
13
13
  end
14
14
 
15
- desc 'Start Resque Scheduler'
15
+ desc 'Start ResqueAdmin Scheduler'
16
16
  task scheduler: :scheduler_setup do
17
17
  scheduler_cli.setup_env
18
18
  scheduler_cli.run_forever
@@ -20,6 +20,6 @@ namespace :resque do
20
20
 
21
21
  task :scheduler_setup do
22
22
  scheduler_cli.parse_options
23
- Rake::Task['resque:setup'].invoke unless scheduler_cli.pre_setup
23
+ Rake::Task['resque_admin:setup'].invoke unless scheduler_cli.pre_setup
24
24
  end
25
25
  end
@@ -1,12 +1,12 @@
1
1
  # vim:fileencoding=utf-8
2
2
 
3
- module Resque
3
+ module ResqueAdmin
4
4
  module Scheduler
5
5
  class Util
6
- # In order to upgrade to resque(1.25) which has deprecated following
7
- # methods, we just added these usefull helpers back to use in Resque
6
+ # In order to upgrade to resque_admin(1.25) which has deprecated following
7
+ # methods, we just added these usefull helpers back to use in ResqueAdmin
8
8
  # Scheduler. refer to:
9
- # https://github.com/resque/resque-scheduler/pull/273
9
+ # https://github.com/resque_admin/resque_admin-scheduler/pull/273
10
10
 
11
11
  def self.constantize(camel_cased_word)
12
12
  camel_cased_word = camel_cased_word.to_s