cloudtasker 0.2.0 → 0.7.0

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.rubocop.yml +5 -0
  4. data/.travis.yml +10 -1
  5. data/Appraisals +25 -0
  6. data/CHANGELOG.md +29 -0
  7. data/Gemfile.lock +27 -4
  8. data/README.md +571 -6
  9. data/Rakefile +6 -0
  10. data/app/controllers/cloudtasker/application_controller.rb +2 -0
  11. data/app/controllers/cloudtasker/worker_controller.rb +24 -2
  12. data/cloudtasker.gemspec +5 -3
  13. data/docs/BATCH_JOBS.md +66 -0
  14. data/docs/CRON_JOBS.md +65 -0
  15. data/docs/UNIQUE_JOBS.md +127 -0
  16. data/exe/cloudtasker +15 -0
  17. data/gemfiles/.bundle/config +2 -0
  18. data/gemfiles/google_cloud_tasks_1.0.gemfile +9 -0
  19. data/gemfiles/google_cloud_tasks_1.0.gemfile.lock +263 -0
  20. data/gemfiles/google_cloud_tasks_1.1.gemfile +9 -0
  21. data/gemfiles/google_cloud_tasks_1.1.gemfile.lock +263 -0
  22. data/gemfiles/google_cloud_tasks_1.2.gemfile +9 -0
  23. data/gemfiles/google_cloud_tasks_1.2.gemfile.lock +263 -0
  24. data/gemfiles/google_cloud_tasks_1.3.gemfile +9 -0
  25. data/gemfiles/google_cloud_tasks_1.3.gemfile.lock +264 -0
  26. data/gemfiles/rails_4.0.gemfile +10 -0
  27. data/gemfiles/rails_4.1.gemfile +9 -0
  28. data/gemfiles/rails_4.2.gemfile +9 -0
  29. data/gemfiles/rails_5.0.gemfile +9 -0
  30. data/gemfiles/rails_5.1.gemfile +9 -0
  31. data/gemfiles/rails_5.2.gemfile +9 -0
  32. data/gemfiles/rails_5.2.gemfile.lock +247 -0
  33. data/gemfiles/rails_6.0.gemfile +9 -0
  34. data/gemfiles/rails_6.0.gemfile.lock +263 -0
  35. data/lib/cloudtasker.rb +19 -1
  36. data/lib/cloudtasker/backend/google_cloud_task.rb +139 -0
  37. data/lib/cloudtasker/backend/memory_task.rb +190 -0
  38. data/lib/cloudtasker/backend/redis_task.rb +249 -0
  39. data/lib/cloudtasker/batch/batch_progress.rb +19 -1
  40. data/lib/cloudtasker/batch/job.rb +85 -23
  41. data/lib/cloudtasker/cli.rb +194 -0
  42. data/lib/cloudtasker/cloud_task.rb +91 -0
  43. data/lib/cloudtasker/config.rb +64 -2
  44. data/lib/cloudtasker/cron/job.rb +2 -2
  45. data/lib/cloudtasker/cron/schedule.rb +25 -11
  46. data/lib/cloudtasker/dead_worker_error.rb +6 -0
  47. data/lib/cloudtasker/local_server.rb +74 -0
  48. data/lib/cloudtasker/railtie.rb +10 -0
  49. data/lib/cloudtasker/redis_client.rb +2 -2
  50. data/lib/cloudtasker/testing.rb +133 -0
  51. data/lib/cloudtasker/unique_job/job.rb +1 -1
  52. data/lib/cloudtasker/unique_job/lock/base_lock.rb +1 -1
  53. data/lib/cloudtasker/unique_job/lock/until_executed.rb +3 -1
  54. data/lib/cloudtasker/unique_job/lock/while_executing.rb +3 -1
  55. data/lib/cloudtasker/version.rb +1 -1
  56. data/lib/cloudtasker/worker.rb +61 -17
  57. data/lib/cloudtasker/{task.rb → worker_handler.rb} +10 -77
  58. data/lib/cloudtasker/worker_logger.rb +155 -0
  59. data/lib/tasks/setup_queue.rake +10 -0
  60. metadata +70 -6
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'cloudtasker/backend/google_cloud_task'
4
+
5
+ namespace :cloudtasker do
6
+ desc 'Setup the Cloud Task queue'
7
+ task setup_queue: :environment do
8
+ Cloudtasker::Backend::GoogleCloudTask.setup_queue
9
+ end
10
+ end
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.2.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Lachaume
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-18 00:00:00.000000000 Z
11
+ date: 2019-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: appraisal
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: bundler
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
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'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rake
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -220,10 +248,11 @@ dependencies:
220
248
  - - ">="
221
249
  - !ruby/object:Gem::Version
222
250
  version: '0'
223
- description: Manage GCP Cloud Tasks in your app. (under development)
251
+ description: Background jobs for Ruby using Google Cloud Tasks (alpha)
224
252
  email:
225
253
  - arnaud.lachaume@keypup.io
226
- executables: []
254
+ executables:
255
+ - cloudtasker
227
256
  extensions: []
228
257
  extra_rdoc_files: []
229
258
  files:
@@ -231,6 +260,8 @@ files:
231
260
  - ".rspec"
232
261
  - ".rubocop.yml"
233
262
  - ".travis.yml"
263
+ - Appraisals
264
+ - CHANGELOG.md
234
265
  - CODE_OF_CONDUCT.md
235
266
  - Gemfile
236
267
  - Gemfile.lock
@@ -243,27 +274,57 @@ files:
243
274
  - bin/setup
244
275
  - cloudtasker.gemspec
245
276
  - config/routes.rb
277
+ - docs/BATCH_JOBS.md
278
+ - docs/CRON_JOBS.md
279
+ - docs/UNIQUE_JOBS.md
280
+ - exe/cloudtasker
281
+ - gemfiles/.bundle/config
282
+ - gemfiles/google_cloud_tasks_1.0.gemfile
283
+ - gemfiles/google_cloud_tasks_1.0.gemfile.lock
284
+ - gemfiles/google_cloud_tasks_1.1.gemfile
285
+ - gemfiles/google_cloud_tasks_1.1.gemfile.lock
286
+ - gemfiles/google_cloud_tasks_1.2.gemfile
287
+ - gemfiles/google_cloud_tasks_1.2.gemfile.lock
288
+ - gemfiles/google_cloud_tasks_1.3.gemfile
289
+ - gemfiles/google_cloud_tasks_1.3.gemfile.lock
290
+ - gemfiles/rails_4.0.gemfile
291
+ - gemfiles/rails_4.1.gemfile
292
+ - gemfiles/rails_4.2.gemfile
293
+ - gemfiles/rails_5.0.gemfile
294
+ - gemfiles/rails_5.1.gemfile
295
+ - gemfiles/rails_5.2.gemfile
296
+ - gemfiles/rails_5.2.gemfile.lock
297
+ - gemfiles/rails_6.0.gemfile
298
+ - gemfiles/rails_6.0.gemfile.lock
246
299
  - lib/cloudtasker.rb
247
300
  - lib/cloudtasker/authentication_error.rb
248
301
  - lib/cloudtasker/authenticator.rb
302
+ - lib/cloudtasker/backend/google_cloud_task.rb
303
+ - lib/cloudtasker/backend/memory_task.rb
304
+ - lib/cloudtasker/backend/redis_task.rb
249
305
  - lib/cloudtasker/batch.rb
250
306
  - lib/cloudtasker/batch/batch_progress.rb
251
307
  - lib/cloudtasker/batch/extension/worker.rb
252
308
  - lib/cloudtasker/batch/job.rb
253
309
  - lib/cloudtasker/batch/middleware.rb
254
310
  - lib/cloudtasker/batch/middleware/server.rb
311
+ - lib/cloudtasker/cli.rb
312
+ - lib/cloudtasker/cloud_task.rb
255
313
  - lib/cloudtasker/config.rb
256
314
  - lib/cloudtasker/cron.rb
257
315
  - lib/cloudtasker/cron/job.rb
258
316
  - lib/cloudtasker/cron/middleware.rb
259
317
  - lib/cloudtasker/cron/middleware/server.rb
260
318
  - lib/cloudtasker/cron/schedule.rb
319
+ - lib/cloudtasker/dead_worker_error.rb
261
320
  - lib/cloudtasker/engine.rb
262
321
  - lib/cloudtasker/invalid_worker_error.rb
322
+ - lib/cloudtasker/local_server.rb
263
323
  - lib/cloudtasker/meta_store.rb
264
324
  - lib/cloudtasker/middleware/chain.rb
325
+ - lib/cloudtasker/railtie.rb
265
326
  - lib/cloudtasker/redis_client.rb
266
- - lib/cloudtasker/task.rb
327
+ - lib/cloudtasker/testing.rb
267
328
  - lib/cloudtasker/unique_job.rb
268
329
  - lib/cloudtasker/unique_job/conflict_strategy/base_strategy.rb
269
330
  - lib/cloudtasker/unique_job/conflict_strategy/raise.rb
@@ -281,6 +342,9 @@ files:
281
342
  - lib/cloudtasker/unique_job/middleware/server.rb
282
343
  - lib/cloudtasker/version.rb
283
344
  - lib/cloudtasker/worker.rb
345
+ - lib/cloudtasker/worker_handler.rb
346
+ - lib/cloudtasker/worker_logger.rb
347
+ - lib/tasks/setup_queue.rake
284
348
  homepage: https://github.com/keypup-io/cloudtasker
285
349
  licenses:
286
350
  - MIT
@@ -307,5 +371,5 @@ rubyforge_project:
307
371
  rubygems_version: 2.7.9
308
372
  signing_key:
309
373
  specification_version: 4
310
- summary: Manage GCP Cloud Tasks in your app. (under development)
374
+ summary: Background jobs for Ruby using Google Cloud Tasks (alpha)
311
375
  test_files: []