activejob 5.2.7.1 → 6.1.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +109 -58
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +18 -13
  5. data/lib/active_job/arguments.rb +80 -30
  6. data/lib/active_job/base.rb +6 -1
  7. data/lib/active_job/callbacks.rb +46 -3
  8. data/lib/active_job/configured_job.rb +2 -0
  9. data/lib/active_job/core.rb +40 -21
  10. data/lib/active_job/enqueuing.rb +20 -7
  11. data/lib/active_job/exceptions.rb +60 -28
  12. data/lib/active_job/execution.rb +11 -2
  13. data/lib/active_job/gem_version.rb +4 -4
  14. data/lib/active_job/instrumentation.rb +40 -0
  15. data/lib/active_job/log_subscriber.rb +140 -0
  16. data/lib/active_job/logging.rb +3 -101
  17. data/lib/active_job/queue_adapter.rb +5 -0
  18. data/lib/active_job/queue_adapters/async_adapter.rb +1 -1
  19. data/lib/active_job/queue_adapters/backburner_adapter.rb +2 -2
  20. data/lib/active_job/queue_adapters/inline_adapter.rb +1 -1
  21. data/lib/active_job/queue_adapters/que_adapter.rb +2 -2
  22. data/lib/active_job/queue_adapters/sidekiq_adapter.rb +2 -2
  23. data/lib/active_job/queue_adapters/sucker_punch_adapter.rb +1 -1
  24. data/lib/active_job/queue_adapters/test_adapter.rb +32 -14
  25. data/lib/active_job/queue_adapters.rb +13 -11
  26. data/lib/active_job/queue_name.rb +23 -3
  27. data/lib/active_job/railtie.rb +20 -1
  28. data/lib/active_job/serializers/date_serializer.rb +20 -0
  29. data/lib/active_job/serializers/date_time_serializer.rb +16 -0
  30. data/lib/active_job/serializers/duration_serializer.rb +23 -0
  31. data/lib/active_job/serializers/module_serializer.rb +20 -0
  32. data/lib/active_job/serializers/object_serializer.rb +53 -0
  33. data/lib/active_job/serializers/symbol_serializer.rb +20 -0
  34. data/lib/active_job/serializers/time_object_serializer.rb +13 -0
  35. data/lib/active_job/serializers/time_serializer.rb +16 -0
  36. data/lib/active_job/serializers/time_with_zone_serializer.rb +16 -0
  37. data/lib/active_job/serializers.rb +66 -0
  38. data/lib/active_job/test_helper.rb +317 -68
  39. data/lib/active_job/timezones.rb +13 -0
  40. data/lib/active_job/translation.rb +1 -1
  41. data/lib/active_job.rb +2 -1
  42. data/lib/rails/generators/job/job_generator.rb +4 -0
  43. metadata +26 -11
  44. data/lib/active_job/queue_adapters/qu_adapter.rb +0 -46
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activejob
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.7.1
4
+ version: 6.1.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2022-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.7.1
19
+ version: 6.1.4.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 5.2.7.1
26
+ version: 6.1.4.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: globalid
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.3.6
41
- description: Declare job classes that can be run by a variety of queueing backends.
41
+ description: Declare job classes that can be run by a variety of queuing backends.
42
42
  email: david@loudthinking.com
43
43
  executables: []
44
44
  extensions: []
@@ -57,6 +57,8 @@ files:
57
57
  - lib/active_job/exceptions.rb
58
58
  - lib/active_job/execution.rb
59
59
  - lib/active_job/gem_version.rb
60
+ - lib/active_job/instrumentation.rb
61
+ - lib/active_job/log_subscriber.rb
60
62
  - lib/active_job/logging.rb
61
63
  - lib/active_job/queue_adapter.rb
62
64
  - lib/active_job/queue_adapters.rb
@@ -64,7 +66,6 @@ files:
64
66
  - lib/active_job/queue_adapters/backburner_adapter.rb
65
67
  - lib/active_job/queue_adapters/delayed_job_adapter.rb
66
68
  - lib/active_job/queue_adapters/inline_adapter.rb
67
- - lib/active_job/queue_adapters/qu_adapter.rb
68
69
  - lib/active_job/queue_adapters/que_adapter.rb
69
70
  - lib/active_job/queue_adapters/queue_classic_adapter.rb
70
71
  - lib/active_job/queue_adapters/resque_adapter.rb
@@ -75,19 +76,33 @@ files:
75
76
  - lib/active_job/queue_name.rb
76
77
  - lib/active_job/queue_priority.rb
77
78
  - lib/active_job/railtie.rb
79
+ - lib/active_job/serializers.rb
80
+ - lib/active_job/serializers/date_serializer.rb
81
+ - lib/active_job/serializers/date_time_serializer.rb
82
+ - lib/active_job/serializers/duration_serializer.rb
83
+ - lib/active_job/serializers/module_serializer.rb
84
+ - lib/active_job/serializers/object_serializer.rb
85
+ - lib/active_job/serializers/symbol_serializer.rb
86
+ - lib/active_job/serializers/time_object_serializer.rb
87
+ - lib/active_job/serializers/time_serializer.rb
88
+ - lib/active_job/serializers/time_with_zone_serializer.rb
78
89
  - lib/active_job/test_case.rb
79
90
  - lib/active_job/test_helper.rb
91
+ - lib/active_job/timezones.rb
80
92
  - lib/active_job/translation.rb
81
93
  - lib/active_job/version.rb
82
94
  - lib/rails/generators/job/job_generator.rb
83
95
  - lib/rails/generators/job/templates/application_job.rb.tt
84
96
  - lib/rails/generators/job/templates/job.rb.tt
85
- homepage: http://rubyonrails.org
97
+ homepage: https://rubyonrails.org
86
98
  licenses:
87
99
  - MIT
88
100
  metadata:
89
- source_code_uri: https://github.com/rails/rails/tree/v5.2.7.1/activejob
90
- changelog_uri: https://github.com/rails/rails/blob/v5.2.7.1/activejob/CHANGELOG.md
101
+ bug_tracker_uri: https://github.com/rails/rails/issues
102
+ changelog_uri: https://github.com/rails/rails/blob/v6.1.4.6/activejob/CHANGELOG.md
103
+ documentation_uri: https://api.rubyonrails.org/v6.1.4.6/
104
+ mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
105
+ source_code_uri: https://github.com/rails/rails/tree/v6.1.4.6/activejob
91
106
  post_install_message:
92
107
  rdoc_options: []
93
108
  require_paths:
@@ -96,14 +111,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
111
  requirements:
97
112
  - - ">="
98
113
  - !ruby/object:Gem::Version
99
- version: 2.2.2
114
+ version: 2.5.0
100
115
  required_rubygems_version: !ruby/object:Gem::Requirement
101
116
  requirements:
102
117
  - - ">="
103
118
  - !ruby/object:Gem::Version
104
119
  version: '0'
105
120
  requirements: []
106
- rubygems_version: 3.1.6
121
+ rubygems_version: 3.2.22
107
122
  signing_key:
108
123
  specification_version: 4
109
124
  summary: Job framework with pluggable queues.
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "qu"
4
-
5
- module ActiveJob
6
- module QueueAdapters
7
- # == Qu adapter for Active Job
8
- #
9
- # Qu is a Ruby library for queuing and processing background jobs. It is
10
- # heavily inspired by delayed_job and Resque. Qu was created to overcome
11
- # some shortcomings in the existing queuing libraries.
12
- # The advantages of Qu are: Multiple backends (redis, mongo), jobs are
13
- # requeued when worker is killed, resque-like API.
14
- #
15
- # Read more about Qu {here}[https://github.com/bkeepers/qu].
16
- #
17
- # To use Qu set the queue_adapter config to +:qu+.
18
- #
19
- # Rails.application.config.active_job.queue_adapter = :qu
20
- class QuAdapter
21
- def enqueue(job, *args) #:nodoc:
22
- qu_job = Qu::Payload.new(klass: JobWrapper, args: [job.serialize]).tap do |payload|
23
- payload.instance_variable_set(:@queue, job.queue_name)
24
- end.push
25
-
26
- # qu_job can be nil depending on the configured backend
27
- job.provider_job_id = qu_job.id unless qu_job.nil?
28
- qu_job
29
- end
30
-
31
- def enqueue_at(job, timestamp, *args) #:nodoc:
32
- raise NotImplementedError, "This queueing backend does not support scheduling jobs. To see what features are supported go to http://api.rubyonrails.org/classes/ActiveJob/QueueAdapters.html"
33
- end
34
-
35
- class JobWrapper < Qu::Job #:nodoc:
36
- def initialize(job_data)
37
- @job_data = job_data
38
- end
39
-
40
- def perform
41
- Base.execute @job_data
42
- end
43
- end
44
- end
45
- end
46
- end