tasque 0.2.2 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d919afb6bc2fa5747b40754ab02cca39d133720c776c221aa10ec47076871c54
4
- data.tar.gz: 7db2cf33f6f3abb1756d8431cb484b8a47454d205f95ce8d0d8a327efefcda52
3
+ metadata.gz: 89ec4dfcea3ae99d1608916e65bb0a95279e104811d110a61e88cc97f84ab6aa
4
+ data.tar.gz: 5ebdb1f35dc8ddf873aecf46fb5d8a7f5ef975db19ad7aea8e322fbffb592387
5
5
  SHA512:
6
- metadata.gz: 29a9b4665321655b28bd3578cdc1cb4d1903de294a09cc4898a217747c36b5a19c174e4dfbb57325b9d577aab7b9be95aa62966e7c17f3b23a416858e651dd3b
7
- data.tar.gz: aeb0779c64ba42f480f8d761befd681e46d21e035d3f4fae063d200d8d3e0ad7358f69b26b7c360f25c93068b568ff7632ee72c4c3fc3f03ea169774644c055e
6
+ metadata.gz: adb5ce46adb17c94facc6b06c83208267486503c47b188f0ba2de66f8f145d7a8da49d3e00d8ccbe9b01f6ad0b885dc2ae80e951a6b0bb082daa53f119f3f5b3
7
+ data.tar.gz: 9698e90255b2ffcd563469e283846a41d40a01d544f7e15f6bc4dbefad8f54072974073bffeb3371dd80290f6e946e0300f84e2e3ccb38d7ea3f25e6062029a6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tasque (0.0.3)
4
+ tasque (0.2.5)
5
5
  activerecord
6
6
  json
7
7
  state_machine
@@ -24,7 +24,6 @@ GEM
24
24
  arel (8.0.0)
25
25
  concurrent-ruby (1.0.5)
26
26
  diff-lcs (1.3)
27
- hitimes (1.2.6)
28
27
  i18n (0.9.5)
29
28
  concurrent-ruby (~> 1.0)
30
29
  insque (0.6.3)
@@ -49,8 +48,7 @@ GEM
49
48
  sqlite3 (1.3.13)
50
49
  state_machine (1.2.0)
51
50
  thread_safe (0.3.6)
52
- timers (4.1.2)
53
- hitimes
51
+ timers (4.3.3)
54
52
  tzinfo (1.2.5)
55
53
  thread_safe (~> 0.1)
56
54
 
@@ -65,4 +63,4 @@ DEPENDENCIES
65
63
  tasque!
66
64
 
67
65
  BUNDLED WITH
68
- 1.12.5
66
+ 1.17.3
data/db/test.db CHANGED
Binary file
@@ -39,7 +39,7 @@ module Tasque
39
39
  has_task = Tasque::Task.fetch(type) do |task|
40
40
  @handlers[type.to_sym].call(task)
41
41
  end
42
- rescue ActiveRecord::Deadlocked
42
+ rescue ActiveRecord::Deadlocked, ActiveRecord::LockWaitTimeout, RedisMutex::LockError
43
43
  retry
44
44
  end while has_task
45
45
  end
data/lib/tasque/task.rb CHANGED
@@ -26,7 +26,12 @@ module Tasque
26
26
  class << self
27
27
  def do_fetch(type)
28
28
  minimum_priority = Tasque.config.minimum_priority
29
- task = self.with_task(type).to_process.minimum_priority(minimum_priority).lock(true).first
29
+ task = self.with_task(type).to_process.minimum_priority(minimum_priority)
30
+ task = if Tasque.config.use_mutex && defined?(RedisMutex)
31
+ task.lock(true).first
32
+ else
33
+ task.first
34
+ end
30
35
  if task and task.can_pickup?
31
36
  task.pickup
32
37
  task
@@ -1,3 +1,3 @@
1
1
  module Tasque
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tasque
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuri Gomozov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-26 00:00:00.000000000 Z
11
+ date: 2022-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -153,7 +153,7 @@ files:
153
153
  homepage: https://github.com/Gropher/tasque
154
154
  licenses: []
155
155
  metadata: {}
156
- post_install_message:
156
+ post_install_message:
157
157
  rdoc_options: []
158
158
  require_paths:
159
159
  - lib
@@ -168,8 +168,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubygems_version: 3.1.2
172
- signing_key:
171
+ rubygems_version: 3.0.9
172
+ signing_key:
173
173
  specification_version: 4
174
174
  summary: ActiveRecord based task queue
175
175
  test_files: