cloudtasker 0.10.rc7 → 0.10.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.
- 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: []
|