tasque 0.0.6 → 0.1.1

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: f71c3e78628de1004901a309503b7050b8bd8c092ab9fef9ce6dfa2b8e63604a
4
- data.tar.gz: 94ceaaae0659164b2e0ebb8a4f7187388bbad6852d69e0689ae3b586deb557f7
3
+ metadata.gz: 3623a9472c224a0ede6dd977f6a9d676f65ccd4f6ab961ef275048a9313b78f5
4
+ data.tar.gz: be4b5a7a8fe9fb387d5f07d12158290cd895838460cee7fa91e33d3bb21841ff
5
5
  SHA512:
6
- metadata.gz: 6c8cdd3968483fd86a63e1df7d7268c9b563cb5ffe903ef5e78e633875b60f1fd953b05ae72abf9d5baea3e9f6ea172f5bee5d00e2b75297f369200da4f30f88
7
- data.tar.gz: a8c28e81c505235853a238e0f16aaec30bb5bf1dda849da1c829bef6d7d32cb3e1b035de728820bc6b6e7073997a63d28ab4e78c5b05a2575d93fcc7b00c4391
6
+ metadata.gz: ec9753f522a63f78331d0716770668ce925208fa40a692606f1690f0dad236debba82b72cbcf96def777100d985e748c5086771a1cd6f2315a14156a7f2aa2d2
7
+ data.tar.gz: 371f4a88cdf4b26aa144ec01dd9159c6686ded749556952e715bfcde68818bb4476afe12d193ab3da538ac4527463620738c1c0847030d54f8963c53069640a9
@@ -3,6 +3,7 @@ require "active_record"
3
3
  require "tasque/configuration"
4
4
  require "tasque/task"
5
5
  require "tasque/task_error"
6
+ require "tasque/task_cancel"
6
7
  require "tasque/processor"
7
8
  require "tasque/version"
8
9
 
@@ -17,17 +17,21 @@ module Tasque
17
17
  task.process
18
18
  begin
19
19
  task.result = block.call task
20
+ task.complete
21
+ rescue Tasque::TaskCancel => e
22
+ task.cancel
20
23
  rescue Tasque::TaskError => e
21
- task.error = {
24
+ task.result = {
22
25
  task_error: e.task_error
23
26
  }
27
+ task.failure
24
28
  rescue Exception => e
25
- task.error = {
29
+ task.result = {
26
30
  exception: e.message,
27
31
  backtrace: e.backtrace
28
32
  }
33
+ task.failure
29
34
  end
30
- task.error? ? task.failure : task.complete
31
35
  @current_task = nil
32
36
  end
33
37
  @timers.every(check_interval) do
@@ -60,7 +64,7 @@ module Tasque
60
64
  heartbeat_timers.every(Tasque.config.heartbeat_interval) do
61
65
  message = {
62
66
  worker: Tasque.config.worker,
63
- busy: !@current_job.nil?
67
+ busy: !@current_task.nil?
64
68
  }.merge(Tasque.config.heartbeat_payload)
65
69
  Insque.broadcast :heartbeat, message
66
70
  end
@@ -94,11 +94,11 @@ module Tasque
94
94
  end
95
95
 
96
96
  event :reprocess do
97
- transition [:processing, :complete, :error] => :reprocessed
97
+ transition [:processing, :complete, :error, :canceled] => :reprocessed
98
98
  end
99
99
 
100
100
  event :cancel do
101
- transition any - [:processing] => :canceled
101
+ transition any => :canceled
102
102
  end
103
103
 
104
104
 
@@ -0,0 +1,10 @@
1
+ module Tasque
2
+ class TaskCancel < Exception
3
+ attr_reader :task
4
+
5
+ def initialize(task)
6
+ @task = task
7
+ end
8
+ end
9
+ end
10
+
@@ -1,3 +1,3 @@
1
1
  module Tasque
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.1"
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.0.6
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuri Gomozov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-09 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -144,6 +144,7 @@ files:
144
144
  - lib/tasque/configuration.rb
145
145
  - lib/tasque/processor.rb
146
146
  - lib/tasque/task.rb
147
+ - lib/tasque/task_cancel.rb
147
148
  - lib/tasque/task_error.rb
148
149
  - lib/tasque/version.rb
149
150
  - spec/spec_helper.rb
@@ -167,8 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
168
  - !ruby/object:Gem::Version
168
169
  version: '0'
169
170
  requirements: []
170
- rubyforge_project:
171
- rubygems_version: 2.7.8
171
+ rubygems_version: 3.1.2
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: ActiveRecord based task queue