activejob 7.0.4 → 7.1.5.1
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/CHANGELOG.md +222 -94
- data/MIT-LICENSE +1 -1
- data/README.md +4 -4
- data/lib/active_job/arguments.rb +28 -31
- data/lib/active_job/base.rb +1 -1
- data/lib/active_job/callbacks.rb +3 -5
- data/lib/active_job/configured_job.rb +4 -0
- data/lib/active_job/core.rb +26 -6
- data/lib/active_job/deprecator.rb +7 -0
- data/lib/active_job/enqueuing.rb +31 -3
- data/lib/active_job/exceptions.rb +52 -8
- data/lib/active_job/execution.rb +11 -2
- data/lib/active_job/gem_version.rb +4 -4
- data/lib/active_job/instrumentation.rb +18 -10
- data/lib/active_job/log_subscriber.rb +81 -9
- data/lib/active_job/queue_adapter.rb +13 -2
- data/lib/active_job/queue_adapters/async_adapter.rb +2 -2
- data/lib/active_job/queue_adapters/backburner_adapter.rb +7 -3
- data/lib/active_job/queue_adapters/delayed_job_adapter.rb +3 -1
- data/lib/active_job/queue_adapters/inline_adapter.rb +1 -1
- data/lib/active_job/queue_adapters/queue_classic_adapter.rb +4 -4
- data/lib/active_job/queue_adapters/resque_adapter.rb +1 -1
- data/lib/active_job/queue_adapters/sidekiq_adapter.rb +42 -14
- data/lib/active_job/queue_adapters/sneakers_adapter.rb +1 -1
- data/lib/active_job/queue_adapters/sucker_punch_adapter.rb +3 -3
- data/lib/active_job/queue_adapters/test_adapter.rb +3 -3
- data/lib/active_job/queue_adapters.rb +8 -7
- data/lib/active_job/queue_name.rb +1 -2
- data/lib/active_job/queue_priority.rb +18 -1
- data/lib/active_job/railtie.rb +26 -7
- data/lib/active_job/serializers/big_decimal_serializer.rb +22 -0
- data/lib/active_job/serializers/duration_serializer.rb +4 -2
- data/lib/active_job/serializers/time_with_zone_serializer.rb +11 -2
- data/lib/active_job/serializers.rb +7 -3
- data/lib/active_job/test_helper.rb +32 -14
- data/lib/active_job/version.rb +1 -1
- data/lib/active_job.rb +29 -4
- data/lib/rails/generators/job/USAGE +19 -0
- data/lib/rails/generators/job/job_generator.rb +6 -2
- data/lib/rails/generators/job/templates/job.rb.tt +1 -1
- metadata +14 -12
- data/lib/active_job/queue_adapters/que_adapter.rb +0 -61
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: 7.
|
4
|
+
version: 7.1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-10 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: 7.
|
19
|
+
version: 7.1.5.1
|
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: 7.
|
26
|
+
version: 7.1.5.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: globalid
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- lib/active_job/callbacks.rb
|
54
54
|
- lib/active_job/configured_job.rb
|
55
55
|
- lib/active_job/core.rb
|
56
|
+
- lib/active_job/deprecator.rb
|
56
57
|
- lib/active_job/enqueuing.rb
|
57
58
|
- lib/active_job/exceptions.rb
|
58
59
|
- lib/active_job/execution.rb
|
@@ -66,7 +67,6 @@ files:
|
|
66
67
|
- lib/active_job/queue_adapters/backburner_adapter.rb
|
67
68
|
- lib/active_job/queue_adapters/delayed_job_adapter.rb
|
68
69
|
- lib/active_job/queue_adapters/inline_adapter.rb
|
69
|
-
- lib/active_job/queue_adapters/que_adapter.rb
|
70
70
|
- lib/active_job/queue_adapters/queue_classic_adapter.rb
|
71
71
|
- lib/active_job/queue_adapters/resque_adapter.rb
|
72
72
|
- lib/active_job/queue_adapters/sidekiq_adapter.rb
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/active_job/queue_priority.rb
|
78
78
|
- lib/active_job/railtie.rb
|
79
79
|
- lib/active_job/serializers.rb
|
80
|
+
- lib/active_job/serializers/big_decimal_serializer.rb
|
80
81
|
- lib/active_job/serializers/date_serializer.rb
|
81
82
|
- lib/active_job/serializers/date_time_serializer.rb
|
82
83
|
- lib/active_job/serializers/duration_serializer.rb
|
@@ -92,6 +93,7 @@ files:
|
|
92
93
|
- lib/active_job/timezones.rb
|
93
94
|
- lib/active_job/translation.rb
|
94
95
|
- lib/active_job/version.rb
|
96
|
+
- lib/rails/generators/job/USAGE
|
95
97
|
- lib/rails/generators/job/job_generator.rb
|
96
98
|
- lib/rails/generators/job/templates/application_job.rb.tt
|
97
99
|
- lib/rails/generators/job/templates/job.rb.tt
|
@@ -100,12 +102,12 @@ licenses:
|
|
100
102
|
- MIT
|
101
103
|
metadata:
|
102
104
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
103
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.
|
104
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
105
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.5.1/activejob/CHANGELOG.md
|
106
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.5.1/
|
105
107
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
106
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.
|
108
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.5.1/activejob
|
107
109
|
rubygems_mfa_required: 'true'
|
108
|
-
post_install_message:
|
110
|
+
post_install_message:
|
109
111
|
rdoc_options: []
|
110
112
|
require_paths:
|
111
113
|
- lib
|
@@ -120,8 +122,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
122
|
- !ruby/object:Gem::Version
|
121
123
|
version: '0'
|
122
124
|
requirements: []
|
123
|
-
rubygems_version: 3.
|
124
|
-
signing_key:
|
125
|
+
rubygems_version: 3.5.22
|
126
|
+
signing_key:
|
125
127
|
specification_version: 4
|
126
128
|
summary: Job framework with pluggable queues.
|
127
129
|
test_files: []
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "que"
|
4
|
-
|
5
|
-
module ActiveJob
|
6
|
-
module QueueAdapters
|
7
|
-
# == Que adapter for Active Job
|
8
|
-
#
|
9
|
-
# Que is a high-performance alternative to DelayedJob or QueueClassic that
|
10
|
-
# improves the reliability of your application by protecting your jobs with
|
11
|
-
# the same ACID guarantees as the rest of your data. Que is a queue for
|
12
|
-
# Ruby and PostgreSQL that manages jobs using advisory locks.
|
13
|
-
#
|
14
|
-
# Read more about Que {here}[https://github.com/chanks/que].
|
15
|
-
#
|
16
|
-
# To use Que set the queue_adapter config to +:que+.
|
17
|
-
#
|
18
|
-
# Rails.application.config.active_job.queue_adapter = :que
|
19
|
-
class QueAdapter
|
20
|
-
def enqueue(job) # :nodoc:
|
21
|
-
job_options = { priority: job.priority, queue: job.queue_name }
|
22
|
-
que_job = nil
|
23
|
-
|
24
|
-
if require_job_options_kwarg?
|
25
|
-
que_job = JobWrapper.enqueue job.serialize, job_options: job_options
|
26
|
-
else
|
27
|
-
que_job = JobWrapper.enqueue job.serialize, **job_options
|
28
|
-
end
|
29
|
-
|
30
|
-
job.provider_job_id = que_job.attrs["job_id"]
|
31
|
-
que_job
|
32
|
-
end
|
33
|
-
|
34
|
-
def enqueue_at(job, timestamp) # :nodoc:
|
35
|
-
job_options = { priority: job.priority, queue: job.queue_name, run_at: Time.at(timestamp) }
|
36
|
-
que_job = nil
|
37
|
-
|
38
|
-
if require_job_options_kwarg?
|
39
|
-
que_job = JobWrapper.enqueue job.serialize, job_options: job_options
|
40
|
-
else
|
41
|
-
que_job = JobWrapper.enqueue job.serialize, **job_options
|
42
|
-
end
|
43
|
-
|
44
|
-
job.provider_job_id = que_job.attrs["job_id"]
|
45
|
-
que_job
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
def require_job_options_kwarg?
|
50
|
-
@require_job_options_kwarg ||=
|
51
|
-
JobWrapper.method(:enqueue).parameters.any? { |ptype, pname| ptype == :key && pname == :job_options }
|
52
|
-
end
|
53
|
-
|
54
|
-
class JobWrapper < Que::Job # :nodoc:
|
55
|
-
def run(job_data)
|
56
|
-
Base.execute job_data
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|