resque-integration 3.8.0 → 3.8.2

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.
@@ -144,7 +144,7 @@ module Resque
144
144
 
145
145
  # When job is dequeued we should remove lock
146
146
  def after_dequeue_lock(_meta_id, *args)
147
- unlock(*args) unless args.empty?
147
+ unlock(*args)
148
148
  end
149
149
 
150
150
  # Fail metadata if dequeue succeed
@@ -165,12 +165,12 @@ module Resque
165
165
  end
166
166
 
167
167
  # Returns true if resque job is in locked state
168
- #
169
- # Returns Boolean
170
168
  def locked?(*args)
171
- redis = ::Resque.redis
172
-
173
- redis.respond_to?(:exists?) ? redis.exists?(lock_id(*args)) : redis.exists(lock_id(*args))
169
+ if Gem::Version.new(Redis::VERSION) < Gem::Version.new('4.3')
170
+ ::Resque.redis.exists(lock_id(*args))
171
+ else
172
+ ::Resque.redis.exists?(lock_id(*args))
173
+ end
174
174
  end
175
175
 
176
176
  # Dequeue unique job
@@ -1,5 +1,5 @@
1
1
  module Resque
2
2
  module Integration
3
- VERSION = '3.8.0'.freeze
3
+ VERSION = '3.8.2'.freeze
4
4
  end
5
5
  end
@@ -28,8 +28,6 @@ Gem::Specification.new do |gem|
28
28
  gem.add_runtime_dependency 'multi_json'
29
29
  gem.add_runtime_dependency 'rake'
30
30
 
31
- gem.add_runtime_dependency 'redis'
32
-
33
31
  gem.add_development_dependency 'bundler'
34
32
  gem.add_development_dependency 'rspec', '~> 2.14'
35
33
  gem.add_development_dependency 'rspec-its'
@@ -88,7 +88,7 @@ describe Resque::Integration::Unique, '#dequeue' do
88
88
 
89
89
  @queue = :queue2
90
90
 
91
- def self.execute(x)
91
+ def self.execute(*params)
92
92
  sleep 0.1
93
93
  end
94
94
  end
@@ -105,14 +105,24 @@ describe Resque::Integration::Unique, '#dequeue' do
105
105
  meta.should be_failed
106
106
  end
107
107
 
108
+ it 'dequeues and unlocks job without args if job is not in work now' do
109
+ JobDequeueTest.enqueue
110
+ JobDequeueTest.should be_enqueued
111
+
112
+ JobDequeueTest.dequeue
113
+ JobDequeueTest.should_not be_enqueued
114
+ JobDequeueTest.should_not be_locked
115
+
116
+ meta = JobDequeueTest.get_meta(JobDequeueTest.meta_id)
117
+ meta.should be_failed
118
+ end
119
+
108
120
  it 'does not dequeue jobs in progress' do
109
121
  meta = JobDequeueTest.enqueue(1)
110
122
 
111
123
  job = Resque.reserve(:queue2)
112
124
 
113
- worker = Thread.new {
114
- job.perform
115
- }
125
+ worker = Thread.new { job.perform }
116
126
 
117
127
  sleep 0.01 # give a worker some time to start
118
128
  meta.reload!
@@ -124,6 +134,24 @@ describe Resque::Integration::Unique, '#dequeue' do
124
134
 
125
135
  worker.join
126
136
  end
137
+
138
+ it 'does not dequeue jobs without args in progress' do
139
+ meta = JobDequeueTest.enqueue
140
+
141
+ job = Resque.reserve(:queue2)
142
+
143
+ worker = Thread.new { job.perform }
144
+
145
+ sleep 0.01 # give a worker some time to start
146
+ meta.reload!
147
+ meta.should be_working
148
+
149
+ JobDequeueTest.dequeue
150
+ JobDequeueTest.should be_locked
151
+ JobDequeueTest.should be_enqueued
152
+
153
+ worker.join
154
+ end
127
155
  end
128
156
 
129
157
  describe Resque::Integration::Unique, '#on_failure_retry' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-integration
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.0
4
+ version: 3.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexei Mikhailov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-08-19 00:00:00.000000000 Z
12
+ date: 2024-01-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: resque
@@ -165,20 +165,6 @@ dependencies:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
- - !ruby/object:Gem::Dependency
169
- name: redis
170
- requirement: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: '0'
175
- type: :runtime
176
- prerelease: false
177
- version_requirements: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
168
  - !ruby/object:Gem::Dependency
183
169
  name: bundler
184
170
  requirement: !ruby/object:Gem::Requirement
@@ -306,6 +292,7 @@ files:
306
292
  - Appraisals
307
293
  - CHANGELOG.md
308
294
  - Gemfile
295
+ - Gemfile.lock
309
296
  - README.md
310
297
  - Rakefile
311
298
  - app/assets/javascripts/standalone/progress_bar.js
@@ -320,6 +307,14 @@ files:
320
307
  - docker-compose.development.yml
321
308
  - docker-compose.drone.yml
322
309
  - docker-compose.yml
310
+ - gemfiles/rails4.2.gemfile
311
+ - gemfiles/rails4.2.gemfile.lock
312
+ - gemfiles/rails5.0.gemfile
313
+ - gemfiles/rails5.0.gemfile.lock
314
+ - gemfiles/rails5.1.gemfile
315
+ - gemfiles/rails5.1.gemfile.lock
316
+ - gemfiles/rails5.2.gemfile
317
+ - gemfiles/rails5.2.gemfile.lock
323
318
  - lib/generators/resque/integration/install/install_generator.rb
324
319
  - lib/resque-integration.rb
325
320
  - lib/resque/integration.rb
@@ -386,8 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
386
381
  - !ruby/object:Gem::Version
387
382
  version: '0'
388
383
  requirements: []
389
- rubyforge_project:
390
- rubygems_version: 2.6.1
384
+ rubygems_version: 3.0.3
391
385
  signing_key:
392
386
  specification_version: 4
393
387
  summary: Seamless integration of resque with resque-progress and resque-lock