resque_manager 3.3.0 → 3.3.1
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.
- checksums.yaml +4 -4
- data/README.markdown +2 -2
- data/app/controllers/resque_manager/resque_controller.rb +31 -31
- data/app/helpers/resque_manager/resque_helper.rb +1 -1
- data/app/views/resque_manager/resque/_queues.html.erb +1 -1
- data/app/views/resque_manager/resque/schedule.html.erb +6 -8
- data/lib/resque_manager.rb +2 -2
- data/lib/resque_manager/overrides/resque/worker.rb +6 -12
- data/lib/resque_manager/overrides/resque_scheduler/resque_scheduler.rb +4 -4
- data/lib/resque_manager/overrides/resque_status/status.rb +2 -2
- data/lib/resque_manager/version.rb +1 -1
- data/lib/tasks/scheduler.rake +2 -2
- data/test/dummy/app/models/data_contribution_file.rb +28 -0
- data/test/dummy/app/models/single_record_loader.rb +8 -0
- data/test/dummy/config/initializers/resque_manager.rb +7 -0
- data/test/dummy/config/redis.yml +16 -0
- data/test/dummy/config/resque_manager.yml +23 -0
- data/test/dummy/config/routes.rb +1 -2
- data/test/dummy/lib/tasks/resque_setup.rake +1 -0
- data/test/dummy/log/test.log +642 -0
- data/test/functional/resque_manager/resque_controller_test.rb +301 -4
- data/test/test_helper.rb +7 -4
- data/test/unit/overrides/resque/worker_test.rb +169 -0
- data/test/unit/overrides/resque_scheduler/resque_scheduler_test.rb +104 -0
- data/test/unit/overrides/resque_status/chained_status_test.rb +63 -0
- data/test/unit/overrides/resque_status/status_test.rb +193 -0
- metadata +68 -5
- data/test/integration/navigation_test.rb +0 -10
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
|
3
|
+
|
4
|
+
class DummyClass
|
5
|
+
include ResqueScheduler
|
6
|
+
end
|
7
|
+
|
8
|
+
class ResqueSchedulerTest < Test::Unit::TestCase
|
9
|
+
context 'ResqueSchedule' do
|
10
|
+
setup { @dummy = DummyClass.new }
|
11
|
+
|
12
|
+
context '#schedule=' do
|
13
|
+
should 'always raise a RunTimeError' do
|
14
|
+
err = assert_raise(RuntimeError) { @dummy.schedule = {} }
|
15
|
+
assert_match /not implemented/, err.message
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context '#schedule' do
|
20
|
+
should 'return a hash' do
|
21
|
+
hash = { make_tea: { every: '1m' }, about: { name: 'green' } }
|
22
|
+
Resque.stubs(:list_range).returns([hash])
|
23
|
+
hash_response = @dummy.schedule
|
24
|
+
assert_equal hash[:make_tea], hash_response[:make_tea]
|
25
|
+
assert_equal hash[:about], hash_response[:about]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context '.start' do
|
30
|
+
should 'run rake task resque:scheduler when Rails.env is test' do
|
31
|
+
Thread.expects(:new)
|
32
|
+
ResqueScheduler.start('0.0.0.0')
|
33
|
+
end
|
34
|
+
|
35
|
+
should 'run rake task resque:scheduler when Rails.env is anything other than test or development' do
|
36
|
+
Rails.expects(:env).returns('prod')
|
37
|
+
Thread.expects(:new).with('0.0.0.0')
|
38
|
+
ResqueScheduler.start('0.0.0.0')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context '.quit' do
|
43
|
+
should 'run the rake task resque:quit scheduler when Rails.env is anything other than test or development' do
|
44
|
+
ResqueScheduler.expects(:system).with('rake resque:quit_scheduler')
|
45
|
+
ResqueScheduler.quit('0.0.0.0')
|
46
|
+
end
|
47
|
+
|
48
|
+
should 'run the rake task resque:quit scheduler when Rails.env is test' do
|
49
|
+
Rails.expects(:env).returns('prod').at_least_once
|
50
|
+
ResqueScheduler.expects(:system).with("cd #{Rails.root}; bundle exec cap #{Rails.env} resque:quit_scheduler host=0.0.0.0")
|
51
|
+
ResqueScheduler.quit('0.0.0.0')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context '.restart' do
|
56
|
+
should 'run quit then start' do
|
57
|
+
ip = '0.0.0.0'
|
58
|
+
ResqueScheduler.expects(:quit).with(ip)
|
59
|
+
ResqueScheduler.expects(:start).with(ip)
|
60
|
+
ResqueScheduler.restart(ip)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context '.farm_status' do
|
65
|
+
should 'set the local host status to Stopped' do
|
66
|
+
status = ResqueScheduler.farm_status
|
67
|
+
assert_equal 'Stopped', status['localhost']
|
68
|
+
end
|
69
|
+
|
70
|
+
should 'set the local host status to running' do
|
71
|
+
ResqueScheduler.stubs(:pids).returns('pid')
|
72
|
+
status = ResqueScheduler.farm_status
|
73
|
+
assert_equal 'Running', status['localhost']
|
74
|
+
end
|
75
|
+
|
76
|
+
should 'set the status to stopped for ip 0.0.0.0 when cap ' do
|
77
|
+
ResqueScheduler.expects(:`).returns('')
|
78
|
+
Rails.expects(:env).returns('prod').at_least_once
|
79
|
+
Resque.expects(:schedule).returns({ job: { 'ip' => '0.0.0.0' } }).at_least_once
|
80
|
+
status = ResqueScheduler.farm_status
|
81
|
+
assert_equal 'Stopped', status['0.0.0.0']
|
82
|
+
end
|
83
|
+
|
84
|
+
should 'set the status to running for ip 0.0.0.0' do
|
85
|
+
ResqueScheduler.expects(:`).returns('resque:scheduler is up')
|
86
|
+
Rails.expects(:env).returns('prod').at_least_once
|
87
|
+
Resque.expects(:schedule).returns({ job: { 'ip' => '0.0.0.0' } }).at_least_once
|
88
|
+
status = ResqueScheduler.farm_status
|
89
|
+
assert_equal 'Running', status['0.0.0.0']
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context '.pids' do
|
94
|
+
should 'return an array of pids' do
|
95
|
+
pids = <<-eos
|
96
|
+
123
|
97
|
+
1234
|
98
|
+
eos
|
99
|
+
ResqueScheduler.expects(:`).returns(pids)
|
100
|
+
assert_equal %w(123 1234), ResqueScheduler.pids
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
|
3
|
+
|
4
|
+
# Testing chained status mixin through SingleRecordLoader
|
5
|
+
|
6
|
+
class ChainedStatusTest < Test::Unit::TestCase
|
7
|
+
context 'Resque::Plugins::ChainedStatus' do
|
8
|
+
setup { @uuid = Resque::Plugins::Status::Hash.generate_uuid }
|
9
|
+
|
10
|
+
context '#included' do
|
11
|
+
should 'have Resque::Plugins::Status and InstanceOverrides included' do
|
12
|
+
assert_includes SingleRecordLoader.included_modules, Resque::Plugins::ChainedStatus::InstanceOverrides, SingleRecordLoader.included_modules.inspect
|
13
|
+
assert_includes SingleRecordLoader.included_modules, Resque::Plugins::Status, SingleRecordLoader.included_modules.inspect
|
14
|
+
assert_includes SingleRecordLoader.included_modules, Resque::Plugins::ChainedStatus, SingleRecordLoader.included_modules.inspect
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'InstanceOverrides' do
|
19
|
+
setup do
|
20
|
+
@worker = Resque::Worker.new(:data_contribution_file)
|
21
|
+
@single_record_loader = SingleRecordLoader.new(@uuid, @worker)
|
22
|
+
end
|
23
|
+
|
24
|
+
context '#name' do
|
25
|
+
should 'return nil for no status.name' do
|
26
|
+
assert_nil @single_record_loader.name
|
27
|
+
end
|
28
|
+
|
29
|
+
should 'return the status name' do
|
30
|
+
@single_record_loader.stubs(:status).returns(Resque::Plugins::Status::Hash.new().merge('uuid' => @uuid, 'name' => 'single_record_loader'))
|
31
|
+
assert_equal 'single_record_loader', @single_record_loader.name, @single_record_loader.name.inspect
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context '#completed' do
|
36
|
+
should 'add custom messages' do
|
37
|
+
response = @single_record_loader.completed(message: 'test', message2: 'testing')
|
38
|
+
assert_equal 'test', response.last[:message], response.inspect
|
39
|
+
assert_equal 'testing', response.last[:message2], response.inspect
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'ClassOverrides' do
|
45
|
+
context '.enqueu_to' do
|
46
|
+
should 'raise an ArgumentError for a missing UUID' do
|
47
|
+
assert_raises(ArgumentError) { SingleRecordLoader.enqueue_to(:data_contribution_file, 'SingleRecordLoader') }
|
48
|
+
end
|
49
|
+
|
50
|
+
should 'return a uuid and call Resque.enqueue_to' do
|
51
|
+
Resque.expects(:enqueue_to).with(:data_contribution_file, 'SingleRecordLoader', @uuid, { 'uuid' => @uuid }).returns(true)
|
52
|
+
assert_equal @uuid, SingleRecordLoader.enqueue_to(:data_contribution_file, 'SingleRecordLoader', { 'uuid' => @uuid })
|
53
|
+
end
|
54
|
+
|
55
|
+
should 'return nil' do
|
56
|
+
Resque.expects(:enqueue_to).with(:data_contribution_file, 'SingleRecordLoader', @uuid, { 'uuid' => @uuid }).returns(false)
|
57
|
+
Resque::Plugins::Status::Hash.expects(:remove).with(@uuid)
|
58
|
+
assert_nil SingleRecordLoader.enqueue_to(:data_contribution_file, 'SingleRecordLoader', { 'uuid' => @uuid })
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,193 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
|
3
|
+
# Testing resque status mixin through DataContributionFile
|
4
|
+
|
5
|
+
class StatusTest < Test::Unit::TestCase
|
6
|
+
context 'Resque::Plugins::Status' do
|
7
|
+
setup do
|
8
|
+
Resque.redis.flushdb # flush redis
|
9
|
+
@uuid = Resque::Plugins::Status::Hash.generate_uuid
|
10
|
+
@worker = Resque::Worker.new(:data_contribution_file)
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'base include' do
|
14
|
+
should 'have the attr_reader :workers' do
|
15
|
+
data_contribution_file = DataContributionFile.new(@uuid)
|
16
|
+
assert_includes data_contribution_file.instance_variable_names, '@worker', data_contribution_file.instance_variable_names.inspect
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context '#initialize' do
|
21
|
+
should 'set the instance variables @uuid, @options, @worker' do
|
22
|
+
options = { options: 'option' }
|
23
|
+
data_contribution_file = DataContributionFile.new(@uuid, @worker, options)
|
24
|
+
|
25
|
+
assert_equal options, data_contribution_file.options
|
26
|
+
assert_equal @uuid, data_contribution_file.uuid
|
27
|
+
assert_equal @worker, data_contribution_file.worker
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context '.enqueue_to' do
|
32
|
+
should 'return a uuid' do
|
33
|
+
assert_not_nil DataContributionFile.enqueue_to(:data_contribution_file, 'SingleRecordLoader')
|
34
|
+
end
|
35
|
+
|
36
|
+
should 'return nil' do
|
37
|
+
Resque.expects(:enqueue_to).returns(false)
|
38
|
+
assert_nil DataContributionFile.enqueue_to(:data_contribution_file, 'SingleRecordLoader')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context '.perform' do
|
43
|
+
should 'return an instance of DataContributionFile with a UUID' do
|
44
|
+
response = DataContributionFile.perform
|
45
|
+
assert_kind_of DataContributionFile, response
|
46
|
+
assert response.uuid.present?
|
47
|
+
end
|
48
|
+
|
49
|
+
should 'set options, worker and UUID' do
|
50
|
+
options = { options: 'Option' }
|
51
|
+
response = DataContributionFile.perform(@uuid, options) do
|
52
|
+
:single_record_loader
|
53
|
+
end
|
54
|
+
assert_equal @uuid, response.uuid
|
55
|
+
assert_equal options, response.options
|
56
|
+
assert_equal :single_record_loader, response.worker
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context '.counter_key' do
|
61
|
+
should 'return a formatted counter key' do
|
62
|
+
assert_equal "data_contribution:#{@uuid}", DataContributionFile.counter_key('data_contribution', @uuid)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context '.remove' do
|
67
|
+
should 'remove from redis' do
|
68
|
+
assert_equal 1, DataContributionFile.incr_counter('data_contribution', @uuid)
|
69
|
+
DataContributionFile.remove(@uuid)
|
70
|
+
assert_equal 0, DataContributionFile.counter('data_contribution', @uuid)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
context '.counter' do
|
75
|
+
should 'return a count of 0' do
|
76
|
+
assert_equal 0, DataContributionFile.counter('data_contribution', @uuid)
|
77
|
+
end
|
78
|
+
|
79
|
+
should 'return a count of 1' do
|
80
|
+
DataContributionFile.incr_counter('data_contribution', @uuid)
|
81
|
+
assert_equal 1, DataContributionFile.counter('data_contribution', @uuid)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context '.incr_counter' do
|
86
|
+
should 'increment the counter to one' do
|
87
|
+
assert_equal 1, DataContributionFile.incr_counter('data_contribution', @uuid)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
context '#tick' do
|
92
|
+
setup do
|
93
|
+
@data_contribution = DataContributionFile.new(@uuid, @worker)
|
94
|
+
@data_contribution.send(:set_status) # Set the status
|
95
|
+
end
|
96
|
+
|
97
|
+
should 'raise Killed when should_kill? is true' do
|
98
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(true)
|
99
|
+
assert_raises(Resque::Plugins::Status::Killed) { @data_contribution.tick }
|
100
|
+
end
|
101
|
+
|
102
|
+
should 'raise Killed when status.killed? is true' do
|
103
|
+
# Stub on the hash not the actual status because it will change and wont be stubbed on the right status object
|
104
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(false)
|
105
|
+
Resque::Plugins::Status::Hash.any_instance.expects(:killed?).returns(true)
|
106
|
+
assert_raises(Resque::Plugins::Status::Killed) { @data_contribution.tick }
|
107
|
+
end
|
108
|
+
|
109
|
+
should 'set status to working' do
|
110
|
+
@data_contribution.status.stubs(:completed?).returns(true)
|
111
|
+
@data_contribution.worker.expects(:paused?).returns(false).at_least_once # break so we dont hit the sleep for 60 seconds
|
112
|
+
@data_contribution.tick
|
113
|
+
assert_equal 'working', @data_contribution.status['status'], @data_contribution.status.inspect
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context '#safe_perform!' do
|
118
|
+
setup do
|
119
|
+
@data_contribution = DataContributionFile.new(@uuid, @worker)
|
120
|
+
@status = Resque::Plugins::Status::Hash.new().merge('uuid' => @uuid)
|
121
|
+
@data_contribution.stubs(:status).returns(@status)
|
122
|
+
@now = Time.now
|
123
|
+
Time.stubs(:now).returns(@now)
|
124
|
+
end
|
125
|
+
|
126
|
+
should 'rescue Killed' do
|
127
|
+
# Stub on the hash not the actual status because it will change and wont be stubbed on the right status object
|
128
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(true)
|
129
|
+
Rails.logger.expects(:info).with("Job #{@data_contribution} Killed at #{@now}")
|
130
|
+
Resque::Plugins::Status::Hash.expects(:killed).with(@uuid)
|
131
|
+
assert_nothing_raised(Resque::Plugins::Status::Killed) { @data_contribution.safe_perform! }
|
132
|
+
end
|
133
|
+
|
134
|
+
should 'rescue an exception and call on failure' do
|
135
|
+
e = Exception.new('exception')
|
136
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(true)
|
137
|
+
@data_contribution.stubs(:kill!).raises(e)
|
138
|
+
Rails.logger.expects(:error).with(e)
|
139
|
+
@data_contribution.expects(:on_failure).with(e)
|
140
|
+
assert_nothing_raised(Exception) { @data_contribution.safe_perform! }
|
141
|
+
end
|
142
|
+
|
143
|
+
should 'rescue an exception and re-raise when the object does not respond to on failure' do
|
144
|
+
e = Exception.new('exception')
|
145
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(true)
|
146
|
+
@data_contribution.stubs(:kill!).raises(e)
|
147
|
+
Rails.logger.expects(:error).with(e)
|
148
|
+
@data_contribution.expects(:respond_to?).returns(false)
|
149
|
+
assert_raises(Exception) { @data_contribution.safe_perform! }
|
150
|
+
end
|
151
|
+
|
152
|
+
should 'set the status to working then completed when !status.completed?' do
|
153
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(false)
|
154
|
+
@status.expects(:failed?).returns(false)
|
155
|
+
@status.expects(:completed?).returns(false)
|
156
|
+
@data_contribution.expects(:set_status).with({'status' => 'working'})
|
157
|
+
@data_contribution.expects(:set_status).with({'status' => 'completed', 'message' => "Completed at #{@now}" })
|
158
|
+
@data_contribution.safe_perform!
|
159
|
+
end
|
160
|
+
|
161
|
+
should 'call on_failure when status.failed?' do
|
162
|
+
@status.expects(:failed?).returns(true)
|
163
|
+
@data_contribution.expects(:on_failure).with(@status.message)
|
164
|
+
@data_contribution.safe_perform!
|
165
|
+
end
|
166
|
+
|
167
|
+
should 'call on_success' do
|
168
|
+
Resque::Plugins::Status::Hash.expects(:should_kill?).returns(false)
|
169
|
+
@status.expects(:failed?).returns(false)
|
170
|
+
@status.expects(:completed?).returns(false)
|
171
|
+
@data_contribution.expects(:on_success)
|
172
|
+
@data_contribution.safe_perform!
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
context '#pause!' do
|
177
|
+
should 'set the status to paused' do
|
178
|
+
data_contribution = DataContributionFile.new(@uuid, @worker)
|
179
|
+
data_contribution.pause!
|
180
|
+
assert_equal 'paused', data_contribution.status['status'], data_contribution.status.inspect
|
181
|
+
assert_match "#{@worker} paused at", data_contribution.status['message'], data_contribution.status.inspect
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
context '#overview_message=' do
|
186
|
+
should 'set the overview_message for the worker' do
|
187
|
+
@data_contribution = DataContributionFile.new(@uuid, @worker)
|
188
|
+
@data_contribution.overview_message = 'Test'
|
189
|
+
assert_equal 'Test', @worker.overview_message, @worker.inspect
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Tyll
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -94,6 +94,48 @@ dependencies:
|
|
94
94
|
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: mocha
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: shoulda
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: shoulda-matchers
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
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'
|
97
139
|
description:
|
98
140
|
email:
|
99
141
|
- kevintyll@gmail.com
|
@@ -162,6 +204,8 @@ files:
|
|
162
204
|
- test/dummy/app/assets/stylesheets/application.css
|
163
205
|
- test/dummy/app/controllers/application_controller.rb
|
164
206
|
- test/dummy/app/helpers/application_helper.rb
|
207
|
+
- test/dummy/app/models/data_contribution_file.rb
|
208
|
+
- test/dummy/app/models/single_record_loader.rb
|
165
209
|
- test/dummy/app/views/layouts/application.html.erb
|
166
210
|
- test/dummy/config/application.rb
|
167
211
|
- test/dummy/config/boot.rb
|
@@ -172,13 +216,18 @@ files:
|
|
172
216
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
173
217
|
- test/dummy/config/initializers/inflections.rb
|
174
218
|
- test/dummy/config/initializers/mime_types.rb
|
219
|
+
- test/dummy/config/initializers/resque_manager.rb
|
175
220
|
- test/dummy/config/initializers/secret_token.rb
|
176
221
|
- test/dummy/config/initializers/session_store.rb
|
177
222
|
- test/dummy/config/initializers/wrap_parameters.rb
|
178
223
|
- test/dummy/config/locales/en.yml
|
224
|
+
- test/dummy/config/redis.yml
|
225
|
+
- test/dummy/config/resque_manager.yml
|
179
226
|
- test/dummy/config/routes.rb
|
180
227
|
- test/dummy/config.ru
|
228
|
+
- test/dummy/lib/tasks/resque_setup.rake
|
181
229
|
- test/dummy/log/development.log
|
230
|
+
- test/dummy/log/test.log
|
182
231
|
- test/dummy/public/404.html
|
183
232
|
- test/dummy/public/422.html
|
184
233
|
- test/dummy/public/500.html
|
@@ -215,12 +264,16 @@ files:
|
|
215
264
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
216
265
|
- test/dummy/tmp/cache/assets/E2B/7A0/sprockets%2Fd44ef07be0aa6d5b5dea4d37d7f72b4f
|
217
266
|
- test/functional/resque_manager/resque_controller_test.rb
|
218
|
-
- test/integration/navigation_test.rb
|
219
267
|
- test/resque_manager_test.rb
|
220
268
|
- test/test_helper.rb
|
221
269
|
- test/unit/helpers/resque_manager/resque_helper_test.rb
|
270
|
+
- test/unit/overrides/resque/worker_test.rb
|
271
|
+
- test/unit/overrides/resque_scheduler/resque_scheduler_test.rb
|
272
|
+
- test/unit/overrides/resque_status/chained_status_test.rb
|
273
|
+
- test/unit/overrides/resque_status/status_test.rb
|
222
274
|
homepage: https://github.com/kevintyll/resque_manager
|
223
|
-
licenses:
|
275
|
+
licenses:
|
276
|
+
- MIT
|
224
277
|
metadata: {}
|
225
278
|
post_install_message:
|
226
279
|
rdoc_options: []
|
@@ -248,6 +301,8 @@ test_files:
|
|
248
301
|
- test/dummy/app/assets/stylesheets/application.css
|
249
302
|
- test/dummy/app/controllers/application_controller.rb
|
250
303
|
- test/dummy/app/helpers/application_helper.rb
|
304
|
+
- test/dummy/app/models/data_contribution_file.rb
|
305
|
+
- test/dummy/app/models/single_record_loader.rb
|
251
306
|
- test/dummy/app/views/layouts/application.html.erb
|
252
307
|
- test/dummy/config/application.rb
|
253
308
|
- test/dummy/config/boot.rb
|
@@ -258,13 +313,18 @@ test_files:
|
|
258
313
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
259
314
|
- test/dummy/config/initializers/inflections.rb
|
260
315
|
- test/dummy/config/initializers/mime_types.rb
|
316
|
+
- test/dummy/config/initializers/resque_manager.rb
|
261
317
|
- test/dummy/config/initializers/secret_token.rb
|
262
318
|
- test/dummy/config/initializers/session_store.rb
|
263
319
|
- test/dummy/config/initializers/wrap_parameters.rb
|
264
320
|
- test/dummy/config/locales/en.yml
|
321
|
+
- test/dummy/config/redis.yml
|
322
|
+
- test/dummy/config/resque_manager.yml
|
265
323
|
- test/dummy/config/routes.rb
|
266
324
|
- test/dummy/config.ru
|
325
|
+
- test/dummy/lib/tasks/resque_setup.rake
|
267
326
|
- test/dummy/log/development.log
|
327
|
+
- test/dummy/log/test.log
|
268
328
|
- test/dummy/public/404.html
|
269
329
|
- test/dummy/public/422.html
|
270
330
|
- test/dummy/public/500.html
|
@@ -301,7 +361,10 @@ test_files:
|
|
301
361
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
302
362
|
- test/dummy/tmp/cache/assets/E2B/7A0/sprockets%2Fd44ef07be0aa6d5b5dea4d37d7f72b4f
|
303
363
|
- test/functional/resque_manager/resque_controller_test.rb
|
304
|
-
- test/integration/navigation_test.rb
|
305
364
|
- test/resque_manager_test.rb
|
306
365
|
- test/test_helper.rb
|
307
366
|
- test/unit/helpers/resque_manager/resque_helper_test.rb
|
367
|
+
- test/unit/overrides/resque/worker_test.rb
|
368
|
+
- test/unit/overrides/resque_scheduler/resque_scheduler_test.rb
|
369
|
+
- test/unit/overrides/resque_status/chained_status_test.rb
|
370
|
+
- test/unit/overrides/resque_status/status_test.rb
|