tasque 0.2.2 → 0.2.5

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 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: