resque-admin-scheduler 1.0.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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