cloudtasker 0.10.rc7 → 0.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +6 -6
- data/Appraisals +16 -0
- data/CHANGELOG.md +57 -4
- data/README.md +54 -33
- data/app/controllers/cloudtasker/worker_controller.rb +4 -1
- data/cloudtasker.gemspec +2 -1
- data/gemfiles/google_cloud_tasks_1.0.gemfile.lock +202 -148
- data/gemfiles/google_cloud_tasks_1.1.gemfile.lock +202 -148
- data/gemfiles/google_cloud_tasks_1.2.gemfile.lock +202 -148
- data/gemfiles/google_cloud_tasks_1.3.gemfile.lock +202 -148
- data/gemfiles/rails_5.2.gemfile.lock +139 -84
- data/gemfiles/rails_6.0.gemfile.lock +140 -85
- data/gemfiles/semantic_logger_3.4.gemfile +7 -0
- data/gemfiles/semantic_logger_4.6.gemfile +7 -0
- data/gemfiles/semantic_logger_4.7.0.gemfile +7 -0
- data/gemfiles/semantic_logger_4.7.2.gemfile +7 -0
- data/gemfiles/semantic_logger_4.7.gemfile +7 -0
- data/lib/cloudtasker/backend/memory_task.rb +3 -0
- data/lib/cloudtasker/version.rb +1 -1
- data/lib/cloudtasker/worker.rb +15 -1
- data/lib/cloudtasker/worker_logger.rb +1 -1
- data/lib/cloudtasker.rb +1 -0
- metadata +30 -12
- data/app/controllers/cloudtasker/application_controller.rb +0 -8
@@ -166,6 +166,9 @@ module Cloudtasker
|
|
166
166
|
# Delete task
|
167
167
|
self.class.delete(id)
|
168
168
|
resp
|
169
|
+
rescue DeadWorkerError => e
|
170
|
+
self.class.delete(id)
|
171
|
+
raise(e) if self.class.inline_mode?
|
169
172
|
rescue StandardError => e
|
170
173
|
self.job_retries += 1
|
171
174
|
raise(e) if self.class.inline_mode?
|
data/lib/cloudtasker/version.rb
CHANGED
data/lib/cloudtasker/worker.rb
CHANGED
@@ -296,6 +296,20 @@ module Cloudtasker
|
|
296
296
|
other.is_a?(self.class) && other.job_id == job_id
|
297
297
|
end
|
298
298
|
|
299
|
+
#
|
300
|
+
# Return the max number of retries allowed for this job.
|
301
|
+
#
|
302
|
+
# The order of precedence for retry lookup is:
|
303
|
+
# - Worker `max_retries` method
|
304
|
+
# - Class `max_retries` option
|
305
|
+
# - Cloudtasker `max_retries` config option
|
306
|
+
#
|
307
|
+
# @return [Integer] The number of retries
|
308
|
+
#
|
309
|
+
def job_max_retries
|
310
|
+
@job_max_retries ||= (try(:max_retries, *job_args) || self.class.max_retries)
|
311
|
+
end
|
312
|
+
|
299
313
|
#
|
300
314
|
# Return true if the job has excceeded its maximum number
|
301
315
|
# of retries
|
@@ -303,7 +317,7 @@ module Cloudtasker
|
|
303
317
|
# @return [Boolean] True if the job is dead
|
304
318
|
#
|
305
319
|
def job_dead?
|
306
|
-
job_retries >=
|
320
|
+
job_retries >= job_max_retries
|
307
321
|
end
|
308
322
|
|
309
323
|
#
|
@@ -142,7 +142,7 @@ module Cloudtasker
|
|
142
142
|
#
|
143
143
|
def log_message(level, msg, &block)
|
144
144
|
# Merge log-specific context into worker-specific context
|
145
|
-
payload_block = -> { log_block.call.merge(block&.call || {}) }
|
145
|
+
payload_block = ->(*_args) { log_block.call.merge(block&.call || {}) }
|
146
146
|
|
147
147
|
# ActiveSupport::Logger does not support passing a payload through a block on top
|
148
148
|
# of a message.
|
data/lib/cloudtasker.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudtasker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arnaud Lachaume
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -56,16 +56,16 @@ dependencies:
|
|
56
56
|
name: google-cloud-tasks
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '1.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '1.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jwt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 1.37.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: semantic_logger
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: timecop
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -296,7 +310,6 @@ files:
|
|
296
310
|
- README.md
|
297
311
|
- Rakefile
|
298
312
|
- _config.yml
|
299
|
-
- app/controllers/cloudtasker/application_controller.rb
|
300
313
|
- app/controllers/cloudtasker/worker_controller.rb
|
301
314
|
- bin/console
|
302
315
|
- bin/setup
|
@@ -324,6 +337,11 @@ files:
|
|
324
337
|
- gemfiles/rails_5.2.gemfile.lock
|
325
338
|
- gemfiles/rails_6.0.gemfile
|
326
339
|
- gemfiles/rails_6.0.gemfile.lock
|
340
|
+
- gemfiles/semantic_logger_3.4.gemfile
|
341
|
+
- gemfiles/semantic_logger_4.6.gemfile
|
342
|
+
- gemfiles/semantic_logger_4.7.0.gemfile
|
343
|
+
- gemfiles/semantic_logger_4.7.2.gemfile
|
344
|
+
- gemfiles/semantic_logger_4.7.gemfile
|
327
345
|
- lib/cloudtasker.rb
|
328
346
|
- lib/cloudtasker/authentication_error.rb
|
329
347
|
- lib/cloudtasker/authenticator.rb
|
@@ -381,7 +399,7 @@ metadata:
|
|
381
399
|
homepage_uri: https://github.com/keypup-io/cloudtasker
|
382
400
|
source_code_uri: https://github.com/keypup-io/cloudtasker
|
383
401
|
changelog_uri: https://github.com/keypup-io/cloudtasker/master/tree/CHANGELOG.md
|
384
|
-
post_install_message:
|
402
|
+
post_install_message:
|
385
403
|
rdoc_options: []
|
386
404
|
require_paths:
|
387
405
|
- lib
|
@@ -392,12 +410,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
392
410
|
version: '0'
|
393
411
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
394
412
|
requirements:
|
395
|
-
- - "
|
413
|
+
- - ">="
|
396
414
|
- !ruby/object:Gem::Version
|
397
|
-
version:
|
415
|
+
version: '0'
|
398
416
|
requirements: []
|
399
417
|
rubygems_version: 3.0.0
|
400
|
-
signing_key:
|
418
|
+
signing_key:
|
401
419
|
specification_version: 4
|
402
420
|
summary: Background jobs for Ruby using Google Cloud Tasks (beta)
|
403
421
|
test_files: []
|