cloudtasker 0.2.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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: []