resque-scheduler 2.5.5 → 3.0.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.
Potentially problematic release.
This version of resque-scheduler might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +12 -6
- data/.rubocop.yml +18 -113
- data/.rubocop_todo.yml +29 -0
- data/.simplecov +3 -1
- data/.travis.yml +12 -4
- data/.vagrant-provision-as-vagrant.sh +15 -0
- data/.vagrant-provision.sh +23 -0
- data/.vagrant-skel/bash_profile +7 -0
- data/.vagrant-skel/bashrc +7 -0
- data/AUTHORS.md +5 -0
- data/Gemfile +1 -2
- data/HISTORY.md +18 -0
- data/README.md +39 -11
- data/ROADMAP.md +0 -6
- data/Rakefile +11 -19
- data/Vagrantfile +14 -0
- data/bin/resque-scheduler +2 -2
- data/examples/Rakefile +1 -1
- data/examples/config/initializers/resque-web.rb +2 -2
- data/examples/dynamic-scheduling/app/jobs/fix_schedules_job.rb +2 -4
- data/examples/dynamic-scheduling/app/jobs/send_email_job.rb +1 -1
- data/examples/dynamic-scheduling/app/models/user.rb +2 -2
- data/examples/dynamic-scheduling/lib/tasks/resque.rake +2 -2
- data/lib/resque-scheduler.rb +3 -1
- data/lib/resque/scheduler.rb +112 -168
- data/lib/resque/scheduler/cli.rb +144 -0
- data/lib/resque/scheduler/configuration.rb +73 -0
- data/lib/resque/scheduler/delaying_extensions.rb +278 -0
- data/lib/resque/scheduler/env.rb +61 -0
- data/lib/resque/scheduler/extension.rb +13 -0
- data/lib/resque/scheduler/lock.rb +2 -1
- data/lib/resque/scheduler/lock/base.rb +6 -2
- data/lib/resque/scheduler/lock/basic.rb +4 -5
- data/lib/resque/scheduler/lock/resilient.rb +30 -37
- data/lib/resque/scheduler/locking.rb +94 -0
- data/lib/resque/scheduler/logger_builder.rb +72 -0
- data/lib/resque/scheduler/plugin.rb +31 -0
- data/lib/resque/scheduler/scheduling_extensions.rb +150 -0
- data/lib/resque/scheduler/server.rb +246 -0
- data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed.erb +2 -1
- data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed_schedules.erb +0 -0
- data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed_timestamp.erb +0 -0
- data/lib/{resque_scheduler → resque/scheduler}/server/views/requeue-params.erb +0 -0
- data/lib/{resque_scheduler → resque/scheduler}/server/views/scheduler.erb +16 -1
- data/lib/{resque_scheduler → resque/scheduler}/server/views/search.erb +2 -1
- data/lib/{resque_scheduler → resque/scheduler}/server/views/search_form.erb +0 -0
- data/lib/resque/scheduler/signal_handling.rb +40 -0
- data/lib/{resque_scheduler → resque/scheduler}/tasks.rb +3 -5
- data/lib/resque/scheduler/util.rb +41 -0
- data/lib/resque/scheduler/version.rb +7 -0
- data/resque-scheduler.gemspec +21 -19
- data/script/migrate_to_timestamps_set.rb +5 -3
- data/tasks/resque_scheduler.rake +1 -1
- data/test/cli_test.rb +26 -69
- data/test/delayed_queue_test.rb +262 -169
- data/test/env_test.rb +41 -0
- data/test/resque-web_test.rb +169 -48
- data/test/scheduler_args_test.rb +73 -41
- data/test/scheduler_hooks_test.rb +9 -8
- data/test/scheduler_locking_test.rb +55 -36
- data/test/scheduler_setup_test.rb +52 -15
- data/test/scheduler_task_test.rb +15 -10
- data/test/scheduler_test.rb +215 -114
- data/test/support/redis_instance.rb +32 -33
- data/test/test_helper.rb +33 -36
- data/test/util_test.rb +11 -0
- metadata +113 -57
- data/lib/resque/scheduler_locking.rb +0 -91
- data/lib/resque_scheduler.rb +0 -386
- data/lib/resque_scheduler/cli.rb +0 -160
- data/lib/resque_scheduler/logger_builder.rb +0 -72
- data/lib/resque_scheduler/plugin.rb +0 -28
- data/lib/resque_scheduler/server.rb +0 -183
- data/lib/resque_scheduler/util.rb +0 -34
- data/lib/resque_scheduler/version.rb +0 -5
- data/test/redis-test.conf +0 -108
@@ -1,3 +1,4 @@
|
|
1
|
+
# vim:fileencoding=utf-8
|
1
2
|
require 'socket'
|
2
3
|
require 'timeout'
|
3
4
|
require 'fileutils'
|
@@ -7,9 +8,10 @@ class RedisInstance
|
|
7
8
|
@running = false
|
8
9
|
@port = nil
|
9
10
|
@pid = nil
|
11
|
+
@waiting = false
|
10
12
|
|
11
13
|
def run_if_needed!
|
12
|
-
run! unless running
|
14
|
+
run! unless @running
|
13
15
|
end
|
14
16
|
|
15
17
|
def run!
|
@@ -17,18 +19,7 @@ class RedisInstance
|
|
17
19
|
ensure_pid_directory
|
18
20
|
reassign_redis_clients
|
19
21
|
start_redis_server
|
20
|
-
|
21
|
-
if $?.success?
|
22
|
-
wait_for_pid
|
23
|
-
puts "Booted isolated Redis on port #{port} with PID #{pid}."
|
24
|
-
|
25
|
-
wait_for_redis_boot
|
26
|
-
|
27
|
-
# Ensure we tear down Redis on Ctrl+C / test failure.
|
28
|
-
at_exit { stop! }
|
29
|
-
else
|
30
|
-
fail "Failed to start Redis on port #{port}."
|
31
|
-
end
|
22
|
+
post_boot_waiting_and_such
|
32
23
|
|
33
24
|
@running = true
|
34
25
|
end
|
@@ -42,26 +33,34 @@ class RedisInstance
|
|
42
33
|
@pid = nil
|
43
34
|
end
|
44
35
|
|
45
|
-
def running?
|
46
|
-
@running
|
47
|
-
end
|
48
|
-
|
49
36
|
private
|
50
37
|
|
38
|
+
def post_boot_waiting_and_such
|
39
|
+
wait_for_pid
|
40
|
+
puts "Booted isolated Redis on #{port} with PID #{pid}."
|
41
|
+
|
42
|
+
wait_for_redis_boot
|
43
|
+
|
44
|
+
# Ensure we tear down Redis on Ctrl+C / test failure.
|
45
|
+
at_exit { stop! }
|
46
|
+
end
|
47
|
+
|
51
48
|
def ensure_redis_server_present!
|
52
|
-
|
49
|
+
unless system('redis-server -v')
|
53
50
|
fail "** can't find `redis-server` in your path"
|
54
51
|
end
|
55
52
|
end
|
56
53
|
|
57
54
|
def wait_for_redis_boot
|
58
|
-
Timeout
|
59
|
-
|
60
|
-
|
55
|
+
Timeout.timeout(10) do
|
56
|
+
loop do
|
57
|
+
begin
|
58
|
+
break if Resque.redis.ping == 'PONG'
|
59
|
+
rescue Redis::CannotConnectError
|
60
|
+
@waiting = true
|
61
61
|
end
|
62
|
-
rescue
|
63
|
-
# silence all errors
|
64
62
|
end
|
63
|
+
@waiting = false
|
65
64
|
end
|
66
65
|
end
|
67
66
|
|
@@ -70,11 +69,13 @@ class RedisInstance
|
|
70
69
|
end
|
71
70
|
|
72
71
|
def reassign_redis_clients
|
73
|
-
Resque.redis = Redis.new(
|
72
|
+
Resque.redis = Redis.new(
|
73
|
+
hostname: '127.0.0.1', port: port, thread_safe: true
|
74
|
+
)
|
74
75
|
end
|
75
76
|
|
76
77
|
def start_redis_server
|
77
|
-
IO.popen(
|
78
|
+
IO.popen('redis-server -', 'w+') do |server|
|
78
79
|
server.write(config)
|
79
80
|
server.close_write
|
80
81
|
end
|
@@ -85,9 +86,8 @@ class RedisInstance
|
|
85
86
|
end
|
86
87
|
|
87
88
|
def wait_for_pid
|
88
|
-
Timeout
|
89
|
-
|
90
|
-
end
|
89
|
+
Timeout.timeout(10) do
|
90
|
+
loop { break if File.exist?(pid_file) }
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -96,7 +96,7 @@ class RedisInstance
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def pid_file
|
99
|
-
|
99
|
+
'/tmp/redis-scheduler-test.pid'
|
100
100
|
end
|
101
101
|
|
102
102
|
def config
|
@@ -109,7 +109,7 @@ class RedisInstance
|
|
109
109
|
|
110
110
|
# Returns a random port in the upper (10000-65535) range.
|
111
111
|
def random_port
|
112
|
-
ports = (
|
112
|
+
ports = (10_000..65_535).to_a
|
113
113
|
|
114
114
|
loop do
|
115
115
|
port = ports[rand(ports.size)]
|
@@ -117,8 +117,8 @@ class RedisInstance
|
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
|
-
def port_available?(ip, port, seconds=1)
|
121
|
-
Timeout
|
120
|
+
def port_available?(ip, port, seconds = 1)
|
121
|
+
Timeout.timeout(seconds) do
|
122
122
|
begin
|
123
123
|
TCPSocket.new(ip, port).close
|
124
124
|
false
|
@@ -131,4 +131,3 @@ class RedisInstance
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
134
|
-
|
data/test/test_helper.rb
CHANGED
@@ -1,20 +1,14 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
dir = File.dirname(File.expand_path(__FILE__))
|
5
|
-
|
6
|
-
require 'rubygems'
|
7
|
-
require 'bundler/setup'
|
8
|
-
|
9
|
-
require 'simplecov' unless RUBY_VERSION < '1.9'
|
1
|
+
# vim:fileencoding=utf-8
|
2
|
+
require 'simplecov'
|
10
3
|
|
11
4
|
require 'test/unit'
|
12
5
|
require 'mocha/setup'
|
6
|
+
require 'rack/test'
|
13
7
|
require 'resque'
|
14
8
|
|
15
9
|
$LOAD_PATH.unshift File.dirname(File.expand_path(__FILE__)) + '/../lib'
|
16
|
-
require '
|
17
|
-
require '
|
10
|
+
require 'resque-scheduler'
|
11
|
+
require 'resque/scheduler/server'
|
18
12
|
|
19
13
|
unless ENV['RESQUE_SCHEDULER_DISABLE_TEST_REDIS_SERVER']
|
20
14
|
# Start our own Redis when the tests start. RedisInstance will take care of
|
@@ -23,35 +17,32 @@ unless ENV['RESQUE_SCHEDULER_DISABLE_TEST_REDIS_SERVER']
|
|
23
17
|
RedisInstance.run!
|
24
18
|
end
|
25
19
|
|
26
|
-
at_exit
|
27
|
-
next if $!
|
28
|
-
|
29
|
-
if defined?(MiniTest)
|
30
|
-
exit_code = MiniTest::Unit.new.run(ARGV)
|
31
|
-
else
|
32
|
-
exit_code = Test::Unit::AutoRunner.run
|
33
|
-
end
|
34
|
-
|
35
|
-
exit(exit_code || 0)
|
36
|
-
end
|
20
|
+
at_exit { exit MiniTest::Unit.new.run(ARGV) || 0 }
|
37
21
|
|
38
22
|
##
|
39
23
|
# test/spec/mini 3
|
40
|
-
# http://gist.github.com/25455
|
41
|
-
#
|
24
|
+
# original work: http://gist.github.com/25455
|
25
|
+
# forked and modified: https://gist.github.com/meatballhat/8906709
|
42
26
|
#
|
43
27
|
def context(*args, &block)
|
44
28
|
return super unless (name = args.first) && block
|
45
29
|
require 'test/unit'
|
46
|
-
klass = Class.new(
|
30
|
+
klass = Class.new(Test::Unit::TestCase) do
|
47
31
|
def self.test(name, &block)
|
48
|
-
define_method("test_#{name.gsub(/\W/,'_')}", &block) if block
|
32
|
+
define_method("test_#{name.gsub(/\W/, '_')}", &block) if block
|
33
|
+
end
|
34
|
+
def self.xtest(*_args)
|
35
|
+
end
|
36
|
+
def self.setup(&block)
|
37
|
+
define_method(:setup, &block)
|
38
|
+
end
|
39
|
+
def self.teardown(&block)
|
40
|
+
define_method(:teardown, &block)
|
49
41
|
end
|
50
|
-
def self.xtest(*args) end
|
51
|
-
def self.setup(&block) define_method(:setup, &block) end
|
52
|
-
def self.teardown(&block) define_method(:teardown, &block) end
|
53
42
|
end
|
54
|
-
(class << klass; self end).send(:define_method, :name)
|
43
|
+
(class << klass; self end).send(:define_method, :name) do
|
44
|
+
name.gsub(/\W/, '_')
|
45
|
+
end
|
55
46
|
klass.class_eval(&block)
|
56
47
|
end
|
57
48
|
|
@@ -64,16 +55,16 @@ unless defined?(Rails)
|
|
64
55
|
end
|
65
56
|
|
66
57
|
class FakeCustomJobClass
|
67
|
-
def self.scheduled(
|
58
|
+
def self.scheduled(_queue, _klass, *_args); end
|
68
59
|
end
|
69
60
|
|
70
61
|
class FakeCustomJobClassEnqueueAt
|
71
62
|
@queue = :test
|
72
|
-
def self.scheduled(
|
63
|
+
def self.scheduled(_queue, _klass, *_args); end
|
73
64
|
end
|
74
65
|
|
75
66
|
class SomeJob
|
76
|
-
def self.perform(
|
67
|
+
def self.perform(_repo_id, _path)
|
77
68
|
end
|
78
69
|
end
|
79
70
|
|
@@ -87,6 +78,12 @@ class SomeFancyJob < SomeJob
|
|
87
78
|
end
|
88
79
|
end
|
89
80
|
|
81
|
+
class SomeSharedEnvJob < SomeJob
|
82
|
+
def self.queue
|
83
|
+
:shared_job
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
90
87
|
class SomeQuickJob < SomeJob
|
91
88
|
@queue = :quick
|
92
89
|
end
|
@@ -110,7 +107,7 @@ JobWithoutParams = Class.new(JobWithParams)
|
|
110
107
|
DYNAMIC_SCHEDULE
|
111
108
|
LOGFILE
|
112
109
|
LOGFORMAT
|
113
|
-
|
110
|
+
QUIET
|
114
111
|
RAILS_ENV
|
115
112
|
RESQUE_SCHEDULER_INTERVAL
|
116
113
|
VERBOSE
|
@@ -120,10 +117,10 @@ end
|
|
120
117
|
|
121
118
|
def nullify_logger
|
122
119
|
Resque::Scheduler.configure do |c|
|
123
|
-
c.
|
120
|
+
c.quiet = nil
|
124
121
|
c.verbose = nil
|
125
122
|
c.logfile = nil
|
126
|
-
c.logger
|
123
|
+
c.send(:logger=, nil)
|
127
124
|
end
|
128
125
|
|
129
126
|
ENV['LOGFILE'] = nil
|
data/test/util_test.rb
ADDED
metadata
CHANGED
@@ -1,169 +1,211 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben VandenBos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: kramdown
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: mocha
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
30
58
|
requirements:
|
31
|
-
- -
|
59
|
+
- - ">="
|
32
60
|
- !ruby/object:Gem::Version
|
33
61
|
version: '0'
|
34
62
|
type: :development
|
35
63
|
prerelease: false
|
36
64
|
version_requirements: !ruby/object:Gem::Requirement
|
37
65
|
requirements:
|
38
|
-
- -
|
66
|
+
- - ">="
|
39
67
|
- !ruby/object:Gem::Version
|
40
68
|
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: pry
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
|
-
- -
|
73
|
+
- - ">="
|
46
74
|
- !ruby/object:Gem::Version
|
47
75
|
version: '0'
|
48
76
|
type: :development
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
|
-
- -
|
80
|
+
- - ">="
|
53
81
|
- !ruby/object:Gem::Version
|
54
82
|
version: '0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: rack-test
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
58
86
|
requirements:
|
59
|
-
- -
|
87
|
+
- - ">="
|
60
88
|
- !ruby/object:Gem::Version
|
61
89
|
version: '0'
|
62
90
|
type: :development
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
66
|
-
- -
|
94
|
+
- - ">="
|
67
95
|
- !ruby/object:Gem::Version
|
68
96
|
version: '0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: rake
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
|
-
- -
|
101
|
+
- - ">="
|
74
102
|
- !ruby/object:Gem::Version
|
75
103
|
version: '0'
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
|
-
- -
|
108
|
+
- - ">="
|
81
109
|
- !ruby/object:Gem::Version
|
82
110
|
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: rubocop
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
|
-
- -
|
115
|
+
- - ">="
|
88
116
|
- !ruby/object:Gem::Version
|
89
117
|
version: '0'
|
90
118
|
type: :development
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
|
-
- -
|
122
|
+
- - ">="
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: simplecov
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
100
128
|
requirements:
|
101
|
-
- -
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: yard
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
102
144
|
- !ruby/object:Gem::Version
|
103
145
|
version: '0'
|
104
146
|
type: :development
|
105
147
|
prerelease: false
|
106
148
|
version_requirements: !ruby/object:Gem::Requirement
|
107
149
|
requirements:
|
108
|
-
- -
|
150
|
+
- - ">="
|
109
151
|
- !ruby/object:Gem::Version
|
110
152
|
version: '0'
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: mono_logger
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
|
-
- - ~>
|
157
|
+
- - "~>"
|
116
158
|
- !ruby/object:Gem::Version
|
117
159
|
version: '1.0'
|
118
160
|
type: :runtime
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
|
-
- - ~>
|
164
|
+
- - "~>"
|
123
165
|
- !ruby/object:Gem::Version
|
124
166
|
version: '1.0'
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
168
|
name: redis
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
|
-
- - ~>
|
171
|
+
- - "~>"
|
130
172
|
- !ruby/object:Gem::Version
|
131
|
-
version: 3.0
|
173
|
+
version: '3.0'
|
132
174
|
type: :runtime
|
133
175
|
prerelease: false
|
134
176
|
version_requirements: !ruby/object:Gem::Requirement
|
135
177
|
requirements:
|
136
|
-
- - ~>
|
178
|
+
- - "~>"
|
137
179
|
- !ruby/object:Gem::Version
|
138
|
-
version: 3.0
|
180
|
+
version: '3.0'
|
139
181
|
- !ruby/object:Gem::Dependency
|
140
182
|
name: resque
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
142
184
|
requirements:
|
143
|
-
- - ~>
|
185
|
+
- - "~>"
|
144
186
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.25
|
187
|
+
version: '1.25'
|
146
188
|
type: :runtime
|
147
189
|
prerelease: false
|
148
190
|
version_requirements: !ruby/object:Gem::Requirement
|
149
191
|
requirements:
|
150
|
-
- - ~>
|
192
|
+
- - "~>"
|
151
193
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.25
|
194
|
+
version: '1.25'
|
153
195
|
- !ruby/object:Gem::Dependency
|
154
196
|
name: rufus-scheduler
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
156
198
|
requirements:
|
157
|
-
- - ~>
|
199
|
+
- - "~>"
|
158
200
|
- !ruby/object:Gem::Version
|
159
|
-
version: 2.0
|
201
|
+
version: '2.0'
|
160
202
|
type: :runtime
|
161
203
|
prerelease: false
|
162
204
|
version_requirements: !ruby/object:Gem::Requirement
|
163
205
|
requirements:
|
164
|
-
- - ~>
|
206
|
+
- - "~>"
|
165
207
|
- !ruby/object:Gem::Version
|
166
|
-
version: 2.0
|
208
|
+
version: '2.0'
|
167
209
|
description: |-
|
168
210
|
Light weight job scheduling on top of Resque.
|
169
211
|
Adds methods enqueue_at/enqueue_in to schedule jobs in the future.
|
@@ -175,10 +217,15 @@ executables:
|
|
175
217
|
extensions: []
|
176
218
|
extra_rdoc_files: []
|
177
219
|
files:
|
178
|
-
- .gitignore
|
179
|
-
- .rubocop.yml
|
180
|
-
- .
|
181
|
-
- .
|
220
|
+
- ".gitignore"
|
221
|
+
- ".rubocop.yml"
|
222
|
+
- ".rubocop_todo.yml"
|
223
|
+
- ".simplecov"
|
224
|
+
- ".travis.yml"
|
225
|
+
- ".vagrant-provision-as-vagrant.sh"
|
226
|
+
- ".vagrant-provision.sh"
|
227
|
+
- ".vagrant-skel/bash_profile"
|
228
|
+
- ".vagrant-skel/bashrc"
|
182
229
|
- AUTHORS.md
|
183
230
|
- CONTRIBUTING.md
|
184
231
|
- Gemfile
|
@@ -187,6 +234,7 @@ files:
|
|
187
234
|
- README.md
|
188
235
|
- ROADMAP.md
|
189
236
|
- Rakefile
|
237
|
+
- Vagrantfile
|
190
238
|
- bin/resque-scheduler
|
191
239
|
- examples/Rakefile
|
192
240
|
- examples/config/initializers/resque-web.rb
|
@@ -200,32 +248,37 @@ files:
|
|
200
248
|
- examples/run-resque-web
|
201
249
|
- lib/resque-scheduler.rb
|
202
250
|
- lib/resque/scheduler.rb
|
251
|
+
- lib/resque/scheduler/cli.rb
|
252
|
+
- lib/resque/scheduler/configuration.rb
|
253
|
+
- lib/resque/scheduler/delaying_extensions.rb
|
254
|
+
- lib/resque/scheduler/env.rb
|
255
|
+
- lib/resque/scheduler/extension.rb
|
203
256
|
- lib/resque/scheduler/lock.rb
|
204
257
|
- lib/resque/scheduler/lock/base.rb
|
205
258
|
- lib/resque/scheduler/lock/basic.rb
|
206
259
|
- lib/resque/scheduler/lock/resilient.rb
|
207
|
-
- lib/resque/
|
208
|
-
- lib/
|
209
|
-
- lib/
|
210
|
-
- lib/
|
211
|
-
- lib/
|
212
|
-
- lib/
|
213
|
-
- lib/
|
214
|
-
- lib/
|
215
|
-
- lib/
|
216
|
-
- lib/
|
217
|
-
- lib/
|
218
|
-
- lib/
|
219
|
-
- lib/
|
220
|
-
- lib/
|
221
|
-
- lib/
|
222
|
-
- lib/
|
260
|
+
- lib/resque/scheduler/locking.rb
|
261
|
+
- lib/resque/scheduler/logger_builder.rb
|
262
|
+
- lib/resque/scheduler/plugin.rb
|
263
|
+
- lib/resque/scheduler/scheduling_extensions.rb
|
264
|
+
- lib/resque/scheduler/server.rb
|
265
|
+
- lib/resque/scheduler/server/views/delayed.erb
|
266
|
+
- lib/resque/scheduler/server/views/delayed_schedules.erb
|
267
|
+
- lib/resque/scheduler/server/views/delayed_timestamp.erb
|
268
|
+
- lib/resque/scheduler/server/views/requeue-params.erb
|
269
|
+
- lib/resque/scheduler/server/views/scheduler.erb
|
270
|
+
- lib/resque/scheduler/server/views/search.erb
|
271
|
+
- lib/resque/scheduler/server/views/search_form.erb
|
272
|
+
- lib/resque/scheduler/signal_handling.rb
|
273
|
+
- lib/resque/scheduler/tasks.rb
|
274
|
+
- lib/resque/scheduler/util.rb
|
275
|
+
- lib/resque/scheduler/version.rb
|
223
276
|
- resque-scheduler.gemspec
|
224
277
|
- script/migrate_to_timestamps_set.rb
|
225
278
|
- tasks/resque_scheduler.rake
|
226
279
|
- test/cli_test.rb
|
227
280
|
- test/delayed_queue_test.rb
|
228
|
-
- test/
|
281
|
+
- test/env_test.rb
|
229
282
|
- test/resque-web_test.rb
|
230
283
|
- test/scheduler_args_test.rb
|
231
284
|
- test/scheduler_hooks_test.rb
|
@@ -235,6 +288,7 @@ files:
|
|
235
288
|
- test/scheduler_test.rb
|
236
289
|
- test/support/redis_instance.rb
|
237
290
|
- test/test_helper.rb
|
291
|
+
- test/util_test.rb
|
238
292
|
homepage: http://github.com/resque/resque-scheduler
|
239
293
|
licenses:
|
240
294
|
- MIT
|
@@ -245,24 +299,24 @@ require_paths:
|
|
245
299
|
- lib
|
246
300
|
required_ruby_version: !ruby/object:Gem::Requirement
|
247
301
|
requirements:
|
248
|
-
- -
|
302
|
+
- - ">="
|
249
303
|
- !ruby/object:Gem::Version
|
250
304
|
version: '0'
|
251
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
306
|
requirements:
|
253
|
-
- -
|
307
|
+
- - ">="
|
254
308
|
- !ruby/object:Gem::Version
|
255
309
|
version: '0'
|
256
310
|
requirements: []
|
257
311
|
rubyforge_project:
|
258
|
-
rubygems_version: 2.
|
312
|
+
rubygems_version: 2.2.2
|
259
313
|
signing_key:
|
260
314
|
specification_version: 4
|
261
315
|
summary: Light weight job scheduling on top of Resque
|
262
316
|
test_files:
|
263
317
|
- test/cli_test.rb
|
264
318
|
- test/delayed_queue_test.rb
|
265
|
-
- test/
|
319
|
+
- test/env_test.rb
|
266
320
|
- test/resque-web_test.rb
|
267
321
|
- test/scheduler_args_test.rb
|
268
322
|
- test/scheduler_hooks_test.rb
|
@@ -272,3 +326,5 @@ test_files:
|
|
272
326
|
- test/scheduler_test.rb
|
273
327
|
- test/support/redis_instance.rb
|
274
328
|
- test/test_helper.rb
|
329
|
+
- test/util_test.rb
|
330
|
+
has_rdoc:
|