cloudtasker 0.5.0 → 0.6.0

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: 2fa7ae9744ddccc745bae1202b99e3891f9ba1035fe26eec3663cfa705ae22e1
4
- data.tar.gz: 92d090b796b74c09803ccb4e7cf9468f230b9aeb5df51eb8c630b677988a49b4
3
+ metadata.gz: 8721e878a098657f0c3974670df6373c873d1df2fa1042b97d9b37d7a1118299
4
+ data.tar.gz: ffd5652b0220a833f603682fdb4392a850b13b185bd7516dd170f5314d1b4af6
5
5
  SHA512:
6
- metadata.gz: 7284aa0d993977e53c40d9ecdcc05cca8a0448a32f1189a5f50e38afc538581eac491c47443f0b9c39c0bd0288ce5d6693da0ae07efb8eee93a447276da6e656
7
- data.tar.gz: 256a041b899f4a4b1e52f8d5ded83fc4bc370fd7ead98873658f60e107d60cf45c7817d019f13565d4cbd8bb2a0b58ce0a78db2aaaf7de023a37c299103c6a0b
6
+ metadata.gz: f0f98ff0e0062b28be192f8353363a736f5cb315eb14f86f577586de070127642d123617e8e831dea84271cada640ea3b9ec642ea75f3f9a12cd494432b9e178
7
+ data.tar.gz: a04500924970efdbc0ceb9364314e0426c92800a4c571b839432de5b9f2faa04e678a67186b0dfd2b32222e8d8606e39ce51b0922ba9687ea827271174dcb23d
@@ -0,0 +1,25 @@
1
+ # Changelog
2
+
3
+ ## [v0.5.0](https://github.com/keypup-io/cloudtasker/tree/v0.5.0) (2019-11-25)
4
+
5
+ [Full Changelog](https://github.com/keypup-io/cloudtasker/compare/v0.4.0...v0.5.0)
6
+
7
+ ## [v0.4.0](https://github.com/keypup-io/cloudtasker/tree/v0.4.0) (2019-11-25)
8
+
9
+ [Full Changelog](https://github.com/keypup-io/cloudtasker/compare/v0.3.0...v0.4.0)
10
+
11
+ ## [v0.3.0](https://github.com/keypup-io/cloudtasker/tree/v0.3.0) (2019-11-25)
12
+
13
+ [Full Changelog](https://github.com/keypup-io/cloudtasker/compare/v0.2.0...v0.3.0)
14
+
15
+ ## [v0.2.0](https://github.com/keypup-io/cloudtasker/tree/v0.2.0) (2019-11-18)
16
+
17
+ [Full Changelog](https://github.com/keypup-io/cloudtasker/compare/v0.1.0...v0.2.0)
18
+
19
+ ## [v0.1.0](https://github.com/keypup-io/cloudtasker/tree/v0.1.0) (2019-11-17)
20
+
21
+ [Full Changelog](https://github.com/keypup-io/cloudtasker/compare/c137feb1ceaaaa4e2fecac0d1f0b4c73151ae002...v0.1.0)
22
+
23
+
24
+
25
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudtasker (0.5.0)
4
+ cloudtasker (0.6.0)
5
5
  activesupport
6
6
  fugit
7
7
  google-cloud-tasks
@@ -84,9 +84,19 @@ GEM
84
84
  tzinfo
85
85
  faraday (0.17.0)
86
86
  multipart-post (>= 1.2, < 3)
87
+ faraday-http-cache (2.0.0)
88
+ faraday (~> 0.8)
87
89
  fugit (1.3.3)
88
90
  et-orbi (~> 1.1, >= 1.1.8)
89
91
  raabro (~> 1.1)
92
+ github_changelog_generator (1.15.0)
93
+ activesupport
94
+ faraday-http-cache
95
+ multi_json
96
+ octokit (~> 4.6)
97
+ rainbow (>= 2.2.1)
98
+ rake (>= 10.0)
99
+ retriable (~> 3.0)
90
100
  globalid (0.4.2)
91
101
  activesupport (>= 4.2.0)
92
102
  google-cloud-tasks (1.3.1)
@@ -143,6 +153,8 @@ GEM
143
153
  nio4r (2.5.2)
144
154
  nokogiri (1.10.5)
145
155
  mini_portile2 (~> 2.4.0)
156
+ octokit (4.14.0)
157
+ sawyer (~> 0.8.0, >= 0.5.3)
146
158
  os (1.0.1)
147
159
  parallel (1.18.0)
148
160
  parser (2.6.5.0)
@@ -181,6 +193,7 @@ GEM
181
193
  rainbow (3.0.0)
182
194
  rake (10.5.0)
183
195
  redis (4.1.3)
196
+ retriable (3.1.2)
184
197
  rly (0.2.3)
185
198
  rspec (3.9.0)
186
199
  rspec-core (~> 3.9.0)
@@ -214,6 +227,9 @@ GEM
214
227
  rubocop (>= 0.68.1)
215
228
  ruby-progressbar (1.10.1)
216
229
  safe_yaml (1.0.5)
230
+ sawyer (0.8.2)
231
+ addressable (>= 2.3.5)
232
+ faraday (> 0.8, < 2.0)
217
233
  signet (0.12.0)
218
234
  addressable (~> 2.3)
219
235
  faraday (~> 0.9)
@@ -249,6 +265,7 @@ DEPENDENCIES
249
265
  appraisal
250
266
  bundler (~> 2.0)
251
267
  cloudtasker!
268
+ github_changelog_generator
252
269
  rails
253
270
  rake (~> 10.0)
254
271
  rspec (~> 3.0)
data/README.md CHANGED
@@ -10,6 +10,27 @@ Cloudtasker also provides optional modules for running [cron jobs](docs/CRON_JOB
10
10
 
11
11
  A local processing server is also available in development. This local server processes jobs in lieu of Cloud Tasks and allow you to work offline.
12
12
 
13
+ ## Summary
14
+
15
+ 1. [Installation](#installation)
16
+ 2. [Get started with Rails](#get-started-with-rails)
17
+ 3. [Configuring Cloudtasker](#configuring-cloudtasker)
18
+ 1. [Cloud Tasks authentication & permissions](#cloud-tasks-authentication--permissions)
19
+ 2. [Cloudtasker initializer](#cloudtasker-initializer)
20
+ 4. [Enqueuing jobs](#enqueuing-jobs)
21
+ 5. [Extensions](#extensions)
22
+ 6. [Working locally](#working-locally)
23
+ 1. [Option 1: Cloudtasker local server](#option-1-cloudtasker-local-server)
24
+ 2. [Option 2: Using ngrok](#option-2-using-ngrok)
25
+ 7. [Logging](#logging)
26
+ 1. [Configuring a logger](#configuring-a-logger)
27
+ 2. [Logging context](#logging-context)
28
+ 8. [Error Handling](#error-handling)
29
+ 1. [HTTP Error codes](#http-error-codes)
30
+ 2. [Error callbacks](#error-callbacks)
31
+ 3. [Max retries](#max-retries)
32
+ 9. [Best practices building workers](#best-practices-building-workers)
33
+
13
34
  ## Installation
14
35
 
15
36
  Add this line to your application's Gemfile:
@@ -77,7 +98,7 @@ Launch Rails and the local Cloudtasker processing server (or add `cloudtasker` t
77
98
  > cloudtasker
78
99
  ```
79
100
 
80
- Open a Rails console and enqueue your job
101
+ Open a Rails console and enqueue some jobs
81
102
  ```ruby
82
103
  # Process job as soon as possible
83
104
  DummyWorker.perform_async('foo')
@@ -290,7 +311,7 @@ Want to test your application end to end with Google Cloud Task? Then [ngrok](ht
290
311
 
291
312
  First start your ngrok tunnel and take note of the :
292
313
  ```bash
293
- ngrok tls 3000
314
+ ngrok http 3000
294
315
  ```
295
316
 
296
317
  Take note of your ngrok domain and configure Cloudtasker to use Google Cloud Task in development via ngrok.
@@ -394,7 +415,7 @@ Jobs failing will automatically return an HTTP error to Cloud Task and trigger a
394
415
  Jobs failing will automatically return the following HTTP error code to Cloud Tasks, based on the actual reason:
395
416
 
396
417
  | Code | Description |
397
- |------|-------------|-----------|
418
+ |------|-------------|
398
419
  | 205 | The job is dead and has been removed from the queue |
399
420
  | 404 | The job has specified an incorrect worker class. |
400
421
  | 422 | An error happened during the execution of the worker (`perform` method) |
@@ -574,7 +595,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
574
595
 
575
596
  ## Contributing
576
597
 
577
- Bug reports and pull requests are welcome on GitHub at https://github.com/alachaum/cloudtasker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
598
+ Bug reports and pull requests are welcome on GitHub at https://github.com/keypup-io/cloudtasker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
578
599
 
579
600
  ## License
580
601
 
@@ -582,7 +603,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
582
603
 
583
604
  ## Code of Conduct
584
605
 
585
- Everyone interacting in the Cloudtasker project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/alachaum/cloudtasker/blob/master/CODE_OF_CONDUCT.md).
606
+ Everyone interacting in the Cloudtasker project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/keypup-io/cloudtasker/blob/master/CODE_OF_CONDUCT.md).
586
607
 
587
608
  ## Author
588
609
 
data/Rakefile CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ require 'github_changelog_generator/task'
5
6
 
6
7
  RSpec::Core::RakeTask.new(:spec)
7
8
 
8
9
  task default: :spec
10
+
11
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
12
+ config.user = 'keypup-io'
13
+ config.project = 'cloudtasker'
14
+ end
@@ -16,13 +16,15 @@ module Cloudtasker
16
16
  # Run a worker from a Cloud Task payload
17
17
  #
18
18
  def run
19
- WorkerHandler.execute_from_payload!(
20
- request.params.slice(:worker, :job_id, :job_args, :job_meta).merge(
21
- job_retries: job_retries
22
- )
23
- )
19
+ # Build payload
20
+ payload = request.params
21
+ .slice(:worker, :job_id, :job_args, :job_meta)
22
+ .merge(job_retries: job_retries)
23
+
24
+ # Process payload
25
+ WorkerHandler.execute_from_payload!(payload)
24
26
  head :no_content
25
- rescue Cloudtasker::DeadWorkerError
27
+ rescue DeadWorkerError
26
28
  # 205: job will NOT be retried
27
29
  head :reset_content
28
30
  rescue InvalidWorkerError
@@ -10,8 +10,8 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['Arnaud Lachaume']
11
11
  spec.email = ['arnaud.lachaume@keypup.io']
12
12
 
13
- spec.summary = 'Manage GCP Cloud Tasks in your app. (alpha)'
14
- spec.description = 'Manage GCP Cloud Tasks in your app. (alpha)'
13
+ spec.summary = 'Background jobs for Ruby using Google Cloud Tasks (alpha)'
14
+ spec.description = 'Background jobs for Ruby using Google Cloud Tasks (alpha)'
15
15
  spec.homepage = 'https://github.com/keypup-io/cloudtasker'
16
16
  spec.license = 'MIT'
17
17
 
@@ -38,6 +38,7 @@ Gem::Specification.new do |spec|
38
38
 
39
39
  spec.add_development_dependency 'appraisal'
40
40
  spec.add_development_dependency 'bundler', '~> 2.0'
41
+ spec.add_development_dependency 'github_changelog_generator'
41
42
  spec.add_development_dependency 'rake', '~> 10.0'
42
43
  spec.add_development_dependency 'rspec', '~> 3.0'
43
44
  spec.add_development_dependency 'rubocop', '0.76.0'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cloudtasker
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudtasker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Lachaume
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '2.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: github_changelog_generator
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -234,7 +248,7 @@ dependencies:
234
248
  - - ">="
235
249
  - !ruby/object:Gem::Version
236
250
  version: '0'
237
- description: Manage GCP Cloud Tasks in your app. (alpha)
251
+ description: Background jobs for Ruby using Google Cloud Tasks (alpha)
238
252
  email:
239
253
  - arnaud.lachaume@keypup.io
240
254
  executables:
@@ -247,6 +261,7 @@ files:
247
261
  - ".rubocop.yml"
248
262
  - ".travis.yml"
249
263
  - Appraisals
264
+ - CHANGELOG.md
250
265
  - CODE_OF_CONDUCT.md
251
266
  - Gemfile
252
267
  - Gemfile.lock
@@ -356,5 +371,5 @@ rubyforge_project:
356
371
  rubygems_version: 2.7.9
357
372
  signing_key:
358
373
  specification_version: 4
359
- summary: Manage GCP Cloud Tasks in your app. (alpha)
374
+ summary: Background jobs for Ruby using Google Cloud Tasks (alpha)
360
375
  test_files: []