sidekiq 3.5.4 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

@@ -37,7 +37,7 @@ class TestScheduled < Sidekiq::Test
37
37
  @scheduled.schedule (Time.now - 60).to_f, @future_2
38
38
  @scheduled.schedule (Time.now - 60).to_f, @future_3
39
39
 
40
- @poller.poll
40
+ @poller.enqueue
41
41
 
42
42
  assert_equal 0, Sidekiq::Queue.new("queue_1").size
43
43
  assert_equal 1, Sidekiq::Queue.new("queue_2").size
@@ -62,7 +62,7 @@ class TestScheduled < Sidekiq::Test
62
62
  end
63
63
 
64
64
  Time.stub(:now, enqueued_time) do
65
- @poller.poll
65
+ @poller.enqueue
66
66
 
67
67
  Sidekiq.redis do |conn|
68
68
  %w(queue:queue_1 queue:queue_2 queue:queue_4 queue:queue_5).each do |queue_name|
@@ -54,6 +54,7 @@ class TestTesting < Sidekiq::Test
54
54
 
55
55
  after do
56
56
  Sidekiq::Testing.disable!
57
+ Sidekiq::Queues.clear_all
57
58
  end
58
59
 
59
60
  it 'stubs the async call' do
@@ -93,7 +94,7 @@ class TestTesting < Sidekiq::Test
93
94
  it 'stubs the enqueue_to call' do
94
95
  assert_equal 0, EnqueuedWorker.jobs.size
95
96
  assert Sidekiq::Client.enqueue_to('someq', EnqueuedWorker, 1, 2)
96
- assert_equal 1, EnqueuedWorker.jobs.size
97
+ assert_equal 1, Sidekiq::Queues['someq'].size
97
98
  end
98
99
 
99
100
  it 'executes all stored jobs' do
@@ -263,6 +264,68 @@ class TestTesting < Sidekiq::Test
263
264
  it 'can execute a job' do
264
265
  DirectWorker.execute_job(DirectWorker.new, [2, 3])
265
266
  end
267
+ end
268
+
269
+ describe 'queue testing' do
270
+ before do
271
+ require 'sidekiq/testing'
272
+ Sidekiq::Testing.fake!
273
+ end
274
+
275
+ after do
276
+ Sidekiq::Testing.disable!
277
+ Sidekiq::Queues.clear_all
278
+ end
266
279
 
280
+ class QueueWorker
281
+ include Sidekiq::Worker
282
+ def perform(a, b)
283
+ a + b
284
+ end
285
+ end
286
+
287
+ class AltQueueWorker
288
+ include Sidekiq::Worker
289
+ sidekiq_options queue: :alt
290
+ def perform(a, b)
291
+ a + b
292
+ end
293
+ end
294
+
295
+ it 'finds enqueued jobs' do
296
+ assert_equal 0, Sidekiq::Queues["default"].size
297
+
298
+ QueueWorker.perform_async(1, 2)
299
+ QueueWorker.perform_async(1, 2)
300
+ AltQueueWorker.perform_async(1, 2)
301
+
302
+ assert_equal 2, Sidekiq::Queues["default"].size
303
+ assert_equal [1, 2], Sidekiq::Queues["default"].first["args"]
304
+
305
+ assert_equal 1, Sidekiq::Queues["alt"].size
306
+ end
307
+
308
+ it 'clears out all queues' do
309
+ assert_equal 0, Sidekiq::Queues["default"].size
310
+
311
+ QueueWorker.perform_async(1, 2)
312
+ QueueWorker.perform_async(1, 2)
313
+ AltQueueWorker.perform_async(1, 2)
314
+
315
+ Sidekiq::Queues.clear_all
316
+
317
+ assert_equal 0, Sidekiq::Queues["default"].size
318
+ assert_equal 0, Sidekiq::Queues["alt"].size
319
+ end
320
+
321
+ it 'finds jobs enqueued by client' do
322
+ Sidekiq::Client.push(
323
+ 'class' => 'NonExistentWorker',
324
+ 'queue' => 'missing',
325
+ 'args' => [1]
326
+ )
327
+
328
+ assert_equal 1, Sidekiq::Queues["missing"].size
329
+ end
267
330
  end
268
331
  end
@@ -748,3 +748,7 @@ div.interval-slider input {
748
748
  max-width: 350px;
749
749
  }
750
750
  }
751
+
752
+ .redis-url {
753
+ text-overflow: ellipsis;
754
+ }
@@ -6,16 +6,11 @@
6
6
  <p class="navbar-text" style="color:white;"><%= product_version %></p>
7
7
  </li>
8
8
  <li>
9
- <p class="navbar-text redis-url">Redis: <%= redis_connection %></p>
9
+ <p class="navbar-text redis-url" title="<%= redis_connection_and_namespace %>"><%= redis_connection_and_namespace %></p>
10
10
  </li>
11
11
  <li>
12
- <p class="navbar-text"><%= t('Time') %>: <%= Time.now.utc.strftime('%H:%M:%S UTC') %></p>
12
+ <p class="navbar-text"><%= Time.now.utc.strftime('%H:%M:%S UTC') %></p>
13
13
  </li>
14
- <% if namespace %>
15
- <li>
16
- <p class="navbar-text redis-namespace"><%= t('Namespace') %>: <%= namespace %></p>
17
- </li>
18
- <% end %>
19
14
  </ul>
20
15
  </div>
21
16
  </div>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.4
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-13 00:00:00.000000000 Z
11
+ date: 2015-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -31,73 +31,73 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.2.1
33
33
  - !ruby/object:Gem::Dependency
34
- name: redis-namespace
34
+ name: connection_pool
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.5'
39
+ version: '2.2'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 1.5.2
42
+ version: 2.2.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '1.5'
49
+ version: '2.2'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 1.5.2
52
+ version: 2.2.0
53
53
  - !ruby/object:Gem::Dependency
54
- name: connection_pool
54
+ name: json
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '2.2'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 2.2.0
59
+ version: '1.0'
63
60
  type: :runtime
64
61
  prerelease: false
65
62
  version_requirements: !ruby/object:Gem::Requirement
66
63
  requirements:
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
- version: '2.2'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 2.2.0
66
+ version: '1.0'
73
67
  - !ruby/object:Gem::Dependency
74
- name: celluloid
68
+ name: concurrent-ruby
75
69
  requirement: !ruby/object:Gem::Requirement
76
70
  requirements:
77
71
  - - "~>"
78
72
  - !ruby/object:Gem::Version
79
- version: 0.17.2
73
+ version: '1.0'
80
74
  type: :runtime
81
75
  prerelease: false
82
76
  version_requirements: !ruby/object:Gem::Requirement
83
77
  requirements:
84
78
  - - "~>"
85
79
  - !ruby/object:Gem::Version
86
- version: 0.17.2
80
+ version: '1.0'
87
81
  - !ruby/object:Gem::Dependency
88
- name: json
82
+ name: redis-namespace
89
83
  requirement: !ruby/object:Gem::Requirement
90
84
  requirements:
91
85
  - - "~>"
92
86
  - !ruby/object:Gem::Version
93
- version: '1.0'
94
- type: :runtime
87
+ version: '1.5'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 1.5.2
91
+ type: :development
95
92
  prerelease: false
96
93
  version_requirements: !ruby/object:Gem::Requirement
97
94
  requirements:
98
95
  - - "~>"
99
96
  - !ruby/object:Gem::Version
100
- version: '1.0'
97
+ version: '1.5'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 1.5.2
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: sinatra
103
103
  requirement: !ruby/object:Gem::Requirement
@@ -184,6 +184,7 @@ files:
184
184
  - ".gitignore"
185
185
  - ".travis.yml"
186
186
  - 3.0-Upgrade.md
187
+ - 4.0-Upgrade.md
187
188
  - COMM-LICENSE
188
189
  - Changes.md
189
190
  - Contributing.md
@@ -191,6 +192,7 @@ files:
191
192
  - Gemfile
192
193
  - LICENSE
193
194
  - Pro-2.0-Upgrade.md
195
+ - Pro-3.0-Upgrade.md
194
196
  - Pro-Changes.md
195
197
  - README.md
196
198
  - Rakefile
@@ -202,7 +204,6 @@ files:
202
204
  - lib/generators/sidekiq/templates/worker_test.rb.erb
203
205
  - lib/generators/sidekiq/worker_generator.rb
204
206
  - lib/sidekiq.rb
205
- - lib/sidekiq/actor.rb
206
207
  - lib/sidekiq/api.rb
207
208
  - lib/sidekiq/cli.rb
208
209
  - lib/sidekiq/client.rb
@@ -239,12 +240,14 @@ files:
239
240
  - test/fake_env.rb
240
241
  - test/fixtures/en.yml
241
242
  - test/helper.rb
243
+ - test/test_actors.rb
242
244
  - test/test_api.rb
243
245
  - test/test_cli.rb
244
246
  - test/test_client.rb
245
247
  - test/test_exception_handler.rb
246
248
  - test/test_extensions.rb
247
249
  - test/test_fetch.rb
250
+ - test/test_launcher.rb
248
251
  - test/test_logging.rb
249
252
  - test/test_manager.rb
250
253
  - test/test_middleware.rb
@@ -378,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
378
381
  version: '0'
379
382
  requirements: []
380
383
  rubyforge_project:
381
- rubygems_version: 2.5.1
384
+ rubygems_version: 2.4.5
382
385
  signing_key:
383
386
  specification_version: 4
384
387
  summary: Simple, efficient background processing for Ruby
@@ -388,12 +391,14 @@ test_files:
388
391
  - test/fake_env.rb
389
392
  - test/fixtures/en.yml
390
393
  - test/helper.rb
394
+ - test/test_actors.rb
391
395
  - test/test_api.rb
392
396
  - test/test_cli.rb
393
397
  - test/test_client.rb
394
398
  - test/test_exception_handler.rb
395
399
  - test/test_extensions.rb
396
400
  - test/test_fetch.rb
401
+ - test/test_launcher.rb
397
402
  - test/test_logging.rb
398
403
  - test/test_manager.rb
399
404
  - test/test_middleware.rb
@@ -1,39 +0,0 @@
1
- module Sidekiq
2
- module Actor
3
-
4
- module ClassMethods
5
- def trap_exit(*args)
6
- end
7
- def new_link(*args)
8
- new(*args)
9
- end
10
- end
11
-
12
- module InstanceMethods
13
- def current_actor
14
- self
15
- end
16
- def after(interval)
17
- end
18
- def alive?
19
- @dead = false unless defined?(@dead)
20
- !@dead
21
- end
22
- def terminate
23
- @dead = true
24
- end
25
- def defer
26
- yield
27
- end
28
- end
29
-
30
- def self.included(klass)
31
- if $TESTING
32
- klass.__send__(:include, InstanceMethods)
33
- klass.__send__(:extend, ClassMethods)
34
- else
35
- klass.__send__(:include, Celluloid)
36
- end
37
- end
38
- end
39
- end