resque-integration 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/.drone.yml +28 -0
  3. data/.gitignore +21 -0
  4. data/.rspec +3 -0
  5. data/Appraisals +27 -0
  6. data/CHANGELOG.md +311 -0
  7. data/Gemfile +4 -0
  8. data/README.md +281 -0
  9. data/Rakefile +1 -0
  10. data/app/assets/javascripts/standalone/progress_bar.js +47 -0
  11. data/app/controllers/resque/jobs_controller.rb +42 -0
  12. data/app/controllers/resque/queues/info_controller.rb +9 -0
  13. data/app/controllers/resque/queues/status_controller.rb +38 -0
  14. data/app/views/shared/job_progress_bar.html.haml +17 -0
  15. data/bin/resque-status +59 -0
  16. data/config/routes.rb +13 -0
  17. data/config.ru +9 -0
  18. data/dip.yml +44 -0
  19. data/docker-compose.development.yml +12 -0
  20. data/docker-compose.drone.yml +6 -0
  21. data/docker-compose.yml +10 -0
  22. data/lib/generators/resque/integration/install/install_generator.rb +38 -0
  23. data/lib/resque/integration/backtrace.rb +29 -0
  24. data/lib/resque/integration/configuration.rb +238 -0
  25. data/lib/resque/integration/continuous.rb +75 -0
  26. data/lib/resque/integration/engine.rb +103 -0
  27. data/lib/resque/integration/extensions/job.rb +17 -0
  28. data/lib/resque/integration/extensions/worker.rb +17 -0
  29. data/lib/resque/integration/extensions.rb +8 -0
  30. data/lib/resque/integration/failure_backends/queues_totals.rb +37 -0
  31. data/lib/resque/integration/failure_backends.rb +7 -0
  32. data/lib/resque/integration/god.erb +99 -0
  33. data/lib/resque/integration/hooks.rb +72 -0
  34. data/lib/resque/integration/logs_rotator.rb +95 -0
  35. data/lib/resque/integration/monkey_patch/verbose_formatter.rb +10 -0
  36. data/lib/resque/integration/ordered.rb +142 -0
  37. data/lib/resque/integration/priority.rb +89 -0
  38. data/lib/resque/integration/queues_info/age.rb +53 -0
  39. data/lib/resque/integration/queues_info/config.rb +96 -0
  40. data/lib/resque/integration/queues_info/size.rb +33 -0
  41. data/lib/resque/integration/queues_info.rb +55 -0
  42. data/lib/resque/integration/tasks/hooks.rake +49 -0
  43. data/lib/resque/integration/tasks/lock.rake +37 -0
  44. data/lib/resque/integration/tasks/resque.rake +101 -0
  45. data/lib/resque/integration/unique.rb +218 -0
  46. data/lib/resque/integration/version.rb +5 -0
  47. data/lib/resque/integration.rb +146 -0
  48. data/lib/resque-integration.rb +1 -0
  49. data/resque-integration.gemspec +40 -0
  50. data/spec/fixtures/resque_queues.yml +45 -0
  51. data/spec/resque/controllers/jobs_controller_spec.rb +65 -0
  52. data/spec/resque/integration/configuration_spec.rb +147 -0
  53. data/spec/resque/integration/continuous_spec.rb +122 -0
  54. data/spec/resque/integration/failure_backends/queues_totals_spec.rb +105 -0
  55. data/spec/resque/integration/ordered_spec.rb +87 -0
  56. data/spec/resque/integration/priority_spec.rb +94 -0
  57. data/spec/resque/integration/queues_info_spec.rb +402 -0
  58. data/spec/resque/integration/unique_spec.rb +184 -0
  59. data/spec/resque/integration_spec.rb +105 -0
  60. data/spec/shared/resque_inline.rb +10 -0
  61. data/spec/spec_helper.rb +28 -0
  62. data/vendor/assets/images/progressbar/white.gif +0 -0
  63. data/vendor/assets/javascripts/jquery.progressbar.js +177 -0
  64. data/vendor/assets/stylesheets/jquery.progressbar.css.erb +33 -0
  65. data/vendor/assets/stylesheets/jquery.progressbar.no_pipeline.css +33 -0
  66. metadata +402 -0
@@ -0,0 +1,28 @@
1
+ require 'bundler/setup'
2
+ require 'pry-byebug'
3
+ require 'rspec'
4
+ require 'rspec/its'
5
+ require 'resque'
6
+ require 'simplecov'
7
+ require 'mock_redis'
8
+ require 'timecop'
9
+ require 'pry-byebug'
10
+ require 'combustion'
11
+
12
+ Resque.redis = MockRedis.new
13
+
14
+ SimpleCov.start
15
+
16
+ require 'resque/integration'
17
+
18
+ Combustion.initialize! :action_controller
19
+ Dir["./spec/shared/**/*.rb"].each(&method(:require))
20
+
21
+ RSpec.configure do |config|
22
+ config.before do
23
+ Resque.redis.redis.flushdb
24
+ end
25
+
26
+ config.filter_run_including focus: true
27
+ config.run_all_when_everything_filtered = true
28
+ end
@@ -0,0 +1,177 @@
1
+ /*
2
+ * ProgressBar v. 1.0.0
3
+ * 2012-11-25
4
+ *
5
+ * jQuery плагин для отображения прогресс-бара
6
+ *
7
+ * События:
8
+ * onSuccess(data) - задача успешно завершена
9
+ * onError(data) - случилась ошибка
10
+ * onRequestComplete - запрос к серверу завершен
11
+ * onRequestSuccess - запрос к серверу завершен успешно
12
+ * onRequestError - запрос к серверу завершен с ошибкой
13
+ *
14
+ */
15
+
16
+ (function($) {
17
+ var
18
+ _options = {},
19
+ _defaults = {
20
+ url: '',
21
+ pid: '', //если pid указан то он присоединяется к url по правилу: url/pid
22
+ max: 0,
23
+ value: 0,
24
+ text: '',
25
+ form: 'progress', //внешний вид прогресс-бара (прогресс-бар, заполняющийся по мере выполнения задачи 'progress', прогресс-бар без индикации процесса выполнения 'load')
26
+ interval: 1000, //интервал запроса к серверу в миллисекундах
27
+ disabled: false, //первоначальное состояние прогресс-бара
28
+ typeRequest: 'GET', //тип запроса к серверу
29
+ waitRequestComplete: true, //ждать ответа от сервера и до этого времени не делать новых запросов
30
+ classProgressBar: 'progress-bar',
31
+ classProgressBarLabel: 'progress-bar-label',
32
+ classProgressBarContainer: 'progress-bar-container'
33
+ },
34
+
35
+ _getOptions = function($element) {
36
+ return $element.data('options');
37
+ },
38
+
39
+ _setOptions = function($element, option, value) {
40
+ var item = {};
41
+ item[option] = value;
42
+ $element.data('options', $.extend($element.data('options'), item));
43
+ },
44
+
45
+ _start = function($element) {
46
+ var options = _getOptions($element);
47
+ if (options.intervalId) {
48
+ return;
49
+ }
50
+ _request($element);
51
+ options.intervalId = setInterval(function() {
52
+ if (!options.request || !options.waitRequestComplete) {
53
+ _request($element);
54
+ }
55
+ }, options.interval);
56
+ _setOptions($element, 'intervalId', options.intervalId);
57
+ options.onEnable && options.onEnable();
58
+ },
59
+
60
+ _stop = function($element) {
61
+ var options = _getOptions($element);
62
+ clearInterval(options.intervalId);
63
+ _setOptions($element, 'intervalId', 0);
64
+ options.onDisable && options.onDisable();
65
+ },
66
+
67
+ _render = function($element) {
68
+ var
69
+ options = _getOptions($element),
70
+ $bar = $('<div>').addClass(options.classProgressBar),
71
+ $label = $('<div>').addClass(options.classProgressBarLabel).html(options.text);
72
+
73
+ switch (options.form) {
74
+ case 'progress':
75
+ $bar.width(options.value / options.max * $element.width());
76
+ $element.empty().append($bar, $label);
77
+ break;
78
+ case 'load':
79
+ $bar.width($element.width());
80
+ $element.empty().append($bar, $label);
81
+ break;
82
+ }
83
+ },
84
+
85
+ _request = function($element) {
86
+ var options = _getOptions($element);
87
+ _setOptions($element, 'request', true);
88
+ $.ajax({
89
+ url: options.url + (options.pid ? '/' + options.pid : ''),
90
+ type: options.typeRequest,
91
+ dataType: 'json',
92
+ cache: false,
93
+ complete: function() {
94
+ _setOptions($element, 'request', false);
95
+ options.onRequestComplete && options.onRequestComplete();
96
+ },
97
+ success: function(data) {
98
+ _setOptions($element, 'value', data.progress.num);
99
+ _setOptions($element, 'max', data.progress.total);
100
+ data.started_at && _setOptions($element, 'text', data.progress.message);
101
+
102
+ _render($element);
103
+
104
+ if (data.succeeded || data.failed) {
105
+ _stop($element);
106
+ data.succeeded && options.onSuccess && options.onSuccess(data);
107
+ data.failed && options.onError && options.onError(data);
108
+ }
109
+ options.onRequestSuccess && options.onRequestSuccess(data);
110
+ },
111
+ error: function(e) {
112
+ _stop($element);
113
+ options.onRequestError && options.onRequestError(e);
114
+ }
115
+ });
116
+ },
117
+
118
+ _create = function($container) {
119
+ $container.each(function() {
120
+ var
121
+ $this = $(this).data('options', $.extend({}, _options)),
122
+ options = _getOptions($this);
123
+
124
+ $this.addClass(options.classProgressBarContainer).show().html(options.text);
125
+ !options.disabled && _start($this);
126
+ });
127
+ },
128
+
129
+ //методы плагина
130
+ _methods = {
131
+ init: function(options) {
132
+ _options = {};
133
+ $.extend(_options, _defaults, options);
134
+ _create(this);
135
+ return this;
136
+ },
137
+ disable: function() {
138
+ _stop(this);
139
+ return this;
140
+ },
141
+ enable: function() {
142
+ _start(this);
143
+ return this;
144
+ },
145
+ option: function() {
146
+ return _getOptions(this);
147
+ },
148
+ value: function(value) {
149
+ if (value === undefined) {
150
+ return _getOptions(this).value;
151
+ } else {
152
+ _setOptions(this, 'value', value);
153
+ _render(this);
154
+ }
155
+ },
156
+ text: function(value) {
157
+ if (value === undefined) {
158
+ return _getOptions(this).text;
159
+ } else {
160
+ _setOptions(this, 'text', value);
161
+ _render(this);
162
+ }
163
+ }
164
+
165
+ };
166
+
167
+ $.fn.progressBar = function(method) {
168
+ if (typeof method === 'object' || !method) {
169
+ return _methods.init.apply(this, arguments);
170
+ }
171
+ if (_methods[method]) {
172
+ return _methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
173
+ }
174
+ $.error('Метод ' + method + ' не существует в jQuery.progressBar');
175
+ };
176
+
177
+ })(jQuery);
@@ -0,0 +1,33 @@
1
+ /*стили для jquery.progressbar.js*/
2
+ .progress-bar-container {
3
+ width: 200px;
4
+ height: 20px;
5
+ border: 1px solid #999;
6
+ padding: 0;
7
+ margin: 0;
8
+ position: relative;
9
+ border-radius: 5px 5px 5px 5px;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .progress-bar {
14
+ height: 20px;
15
+ background: url(<%= asset_path('progressbar/white.gif') %>) 0 0 #42aaff;
16
+ position: absolute;
17
+ left: 0;
18
+ top: 0;
19
+ padding: 0;
20
+ margin: 0;
21
+ }
22
+
23
+ .progress-bar-label {
24
+ width: 200px;
25
+ position: absolute;
26
+ left: 0;
27
+ top: 0;
28
+ font-size: 13px;
29
+ color: #000;
30
+ text-align: center;
31
+ line-height: 17px;
32
+ text-shadow: #fff -1px -1px 0, #666 1px 1px 0;
33
+ }
@@ -0,0 +1,33 @@
1
+ /*стили для jquery.progressbar.js*/
2
+ .progress-bar-container {
3
+ width: 200px;
4
+ height: 20px;
5
+ border: 1px solid #999;
6
+ padding: 0;
7
+ margin: 0;
8
+ position: relative;
9
+ border-radius: 5px 5px 5px 5px;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .progress-bar {
14
+ height: 20px;
15
+ background: url('/images/progressbar/white.gif') 0 0 #42aaff;
16
+ position: absolute;
17
+ left: 0;
18
+ top: 0;
19
+ padding: 0;
20
+ margin: 0;
21
+ }
22
+
23
+ .progress-bar-label {
24
+ width: 200px;
25
+ position: absolute;
26
+ left: 0;
27
+ top: 0;
28
+ font-size: 13px;
29
+ color: #000;
30
+ text-align: center;
31
+ line-height: 17px;
32
+ text-shadow: #fff -1px -1px 0, #666 1px 1px 0;
33
+ }
metadata ADDED
@@ -0,0 +1,402 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: resque-integration
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.4.1
5
+ platform: ruby
6
+ authors:
7
+ - Alexei Mikhailov
8
+ - Michail Merkushin
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-08-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: resque
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 1.25.2
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 1.25.2
28
+ - !ruby/object:Gem::Dependency
29
+ name: rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 3.0.0
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 3.0.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: resque-meta
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 2.0.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 2.0.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: resque-progress
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.1
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.1
70
+ - !ruby/object:Gem::Dependency
71
+ name: resque-multi-job-forks
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 0.4.2
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 0.4.2
84
+ - !ruby/object:Gem::Dependency
85
+ name: resque-failed-job-mailer
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 0.0.3
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.0.3
98
+ - !ruby/object:Gem::Dependency
99
+ name: resque-scheduler
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '4.0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '4.0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: resque-retry
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '1.5'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '1.5'
126
+ - !ruby/object:Gem::Dependency
127
+ name: god
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.13.4
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 0.13.4
140
+ - !ruby/object:Gem::Dependency
141
+ name: multi_json
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rake
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: bundler
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: rspec
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '2.14'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: '2.14'
196
+ - !ruby/object:Gem::Dependency
197
+ name: rspec-its
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: simplecov
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ - !ruby/object:Gem::Dependency
225
+ name: appraisal
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: 1.0.2
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: 1.0.2
238
+ - !ruby/object:Gem::Dependency
239
+ name: combustion
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 0.5.5
245
+ type: :development
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: 0.5.5
252
+ - !ruby/object:Gem::Dependency
253
+ name: mock_redis
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ type: :development
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ - !ruby/object:Gem::Dependency
267
+ name: timecop
268
+ requirement: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ type: :development
274
+ prerelease: false
275
+ version_requirements: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ - !ruby/object:Gem::Dependency
281
+ name: pry-byebug
282
+ requirement: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ type: :development
288
+ prerelease: false
289
+ version_requirements: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ description:
295
+ email:
296
+ - amikhailov83@gmail.com
297
+ - merkushin.m.s@gmail.com
298
+ executables:
299
+ - resque-status
300
+ extensions: []
301
+ extra_rdoc_files: []
302
+ files:
303
+ - ".drone.yml"
304
+ - ".gitignore"
305
+ - ".rspec"
306
+ - Appraisals
307
+ - CHANGELOG.md
308
+ - Gemfile
309
+ - README.md
310
+ - Rakefile
311
+ - app/assets/javascripts/standalone/progress_bar.js
312
+ - app/controllers/resque/jobs_controller.rb
313
+ - app/controllers/resque/queues/info_controller.rb
314
+ - app/controllers/resque/queues/status_controller.rb
315
+ - app/views/shared/job_progress_bar.html.haml
316
+ - bin/resque-status
317
+ - config.ru
318
+ - config/routes.rb
319
+ - dip.yml
320
+ - docker-compose.development.yml
321
+ - docker-compose.drone.yml
322
+ - docker-compose.yml
323
+ - lib/generators/resque/integration/install/install_generator.rb
324
+ - lib/resque-integration.rb
325
+ - lib/resque/integration.rb
326
+ - lib/resque/integration/backtrace.rb
327
+ - lib/resque/integration/configuration.rb
328
+ - lib/resque/integration/continuous.rb
329
+ - lib/resque/integration/engine.rb
330
+ - lib/resque/integration/extensions.rb
331
+ - lib/resque/integration/extensions/job.rb
332
+ - lib/resque/integration/extensions/worker.rb
333
+ - lib/resque/integration/failure_backends.rb
334
+ - lib/resque/integration/failure_backends/queues_totals.rb
335
+ - lib/resque/integration/god.erb
336
+ - lib/resque/integration/hooks.rb
337
+ - lib/resque/integration/logs_rotator.rb
338
+ - lib/resque/integration/monkey_patch/verbose_formatter.rb
339
+ - lib/resque/integration/ordered.rb
340
+ - lib/resque/integration/priority.rb
341
+ - lib/resque/integration/queues_info.rb
342
+ - lib/resque/integration/queues_info/age.rb
343
+ - lib/resque/integration/queues_info/config.rb
344
+ - lib/resque/integration/queues_info/size.rb
345
+ - lib/resque/integration/tasks/hooks.rake
346
+ - lib/resque/integration/tasks/lock.rake
347
+ - lib/resque/integration/tasks/resque.rake
348
+ - lib/resque/integration/unique.rb
349
+ - lib/resque/integration/version.rb
350
+ - resque-integration.gemspec
351
+ - spec/fixtures/resque_queues.yml
352
+ - spec/resque/controllers/jobs_controller_spec.rb
353
+ - spec/resque/integration/configuration_spec.rb
354
+ - spec/resque/integration/continuous_spec.rb
355
+ - spec/resque/integration/failure_backends/queues_totals_spec.rb
356
+ - spec/resque/integration/ordered_spec.rb
357
+ - spec/resque/integration/priority_spec.rb
358
+ - spec/resque/integration/queues_info_spec.rb
359
+ - spec/resque/integration/unique_spec.rb
360
+ - spec/resque/integration_spec.rb
361
+ - spec/shared/resque_inline.rb
362
+ - spec/spec_helper.rb
363
+ - vendor/assets/images/progressbar/white.gif
364
+ - vendor/assets/javascripts/jquery.progressbar.js
365
+ - vendor/assets/stylesheets/jquery.progressbar.css.erb
366
+ - vendor/assets/stylesheets/jquery.progressbar.no_pipeline.css
367
+ homepage: https://github.com/abak-press/resque-integration
368
+ licenses: []
369
+ metadata: {}
370
+ post_install_message:
371
+ rdoc_options: []
372
+ require_paths:
373
+ - lib
374
+ required_ruby_version: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ version: '0'
379
+ required_rubygems_version: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
384
+ requirements: []
385
+ rubyforge_project:
386
+ rubygems_version: 2.6.1
387
+ signing_key:
388
+ specification_version: 4
389
+ summary: Seamless integration of resque with resque-progress and resque-lock
390
+ test_files:
391
+ - spec/fixtures/resque_queues.yml
392
+ - spec/resque/controllers/jobs_controller_spec.rb
393
+ - spec/resque/integration/configuration_spec.rb
394
+ - spec/resque/integration/continuous_spec.rb
395
+ - spec/resque/integration/failure_backends/queues_totals_spec.rb
396
+ - spec/resque/integration/ordered_spec.rb
397
+ - spec/resque/integration/priority_spec.rb
398
+ - spec/resque/integration/queues_info_spec.rb
399
+ - spec/resque/integration/unique_spec.rb
400
+ - spec/resque/integration_spec.rb
401
+ - spec/shared/resque_inline.rb
402
+ - spec/spec_helper.rb