activejob 5.2.3

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 (40) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +80 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.md +126 -0
  5. data/lib/active_job.rb +39 -0
  6. data/lib/active_job/arguments.rb +165 -0
  7. data/lib/active_job/base.rb +74 -0
  8. data/lib/active_job/callbacks.rb +155 -0
  9. data/lib/active_job/configured_job.rb +18 -0
  10. data/lib/active_job/core.rb +158 -0
  11. data/lib/active_job/enqueuing.rb +59 -0
  12. data/lib/active_job/exceptions.rb +134 -0
  13. data/lib/active_job/execution.rb +49 -0
  14. data/lib/active_job/gem_version.rb +17 -0
  15. data/lib/active_job/logging.rb +130 -0
  16. data/lib/active_job/queue_adapter.rb +60 -0
  17. data/lib/active_job/queue_adapters.rb +139 -0
  18. data/lib/active_job/queue_adapters/async_adapter.rb +116 -0
  19. data/lib/active_job/queue_adapters/backburner_adapter.rb +36 -0
  20. data/lib/active_job/queue_adapters/delayed_job_adapter.rb +47 -0
  21. data/lib/active_job/queue_adapters/inline_adapter.rb +23 -0
  22. data/lib/active_job/queue_adapters/qu_adapter.rb +46 -0
  23. data/lib/active_job/queue_adapters/que_adapter.rb +39 -0
  24. data/lib/active_job/queue_adapters/queue_classic_adapter.rb +58 -0
  25. data/lib/active_job/queue_adapters/resque_adapter.rb +53 -0
  26. data/lib/active_job/queue_adapters/sidekiq_adapter.rb +47 -0
  27. data/lib/active_job/queue_adapters/sneakers_adapter.rb +48 -0
  28. data/lib/active_job/queue_adapters/sucker_punch_adapter.rb +49 -0
  29. data/lib/active_job/queue_adapters/test_adapter.rb +67 -0
  30. data/lib/active_job/queue_name.rb +49 -0
  31. data/lib/active_job/queue_priority.rb +43 -0
  32. data/lib/active_job/railtie.rb +34 -0
  33. data/lib/active_job/test_case.rb +11 -0
  34. data/lib/active_job/test_helper.rb +456 -0
  35. data/lib/active_job/translation.rb +13 -0
  36. data/lib/active_job/version.rb +10 -0
  37. data/lib/rails/generators/job/job_generator.rb +40 -0
  38. data/lib/rails/generators/job/templates/application_job.rb.tt +9 -0
  39. data/lib/rails/generators/job/templates/job.rb.tt +9 -0
  40. metadata +110 -0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveJob
4
+ module Translation #:nodoc:
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ around_perform do |job, block, _|
9
+ I18n.with_locale(job.locale, &block)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "gem_version"
4
+
5
+ module ActiveJob
6
+ # Returns the version of the currently loaded Active Job as a <tt>Gem::Version</tt>
7
+ def self.version
8
+ gem_version
9
+ end
10
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators/named_base"
4
+
5
+ module Rails # :nodoc:
6
+ module Generators # :nodoc:
7
+ class JobGenerator < Rails::Generators::NamedBase # :nodoc:
8
+ desc "This generator creates an active job file at app/jobs"
9
+
10
+ class_option :queue, type: :string, default: "default", desc: "The queue name for the generated job"
11
+
12
+ check_class_collision suffix: "Job"
13
+
14
+ hook_for :test_framework
15
+
16
+ def self.default_generator_root
17
+ __dir__
18
+ end
19
+
20
+ def create_job_file
21
+ template "job.rb", File.join("app/jobs", class_path, "#{file_name}_job.rb")
22
+
23
+ in_root do
24
+ if behavior == :invoke && !File.exist?(application_job_file_name)
25
+ template "application_job.rb", application_job_file_name
26
+ end
27
+ end
28
+ end
29
+
30
+ private
31
+ def application_job_file_name
32
+ @application_job_file_name ||= if mountable_engine?
33
+ "app/jobs/#{namespaced_path}/application_job.rb"
34
+ else
35
+ "app/jobs/application_job.rb"
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,9 @@
1
+ <% module_namespacing do -%>
2
+ class ApplicationJob < ActiveJob::Base
3
+ # Automatically retry jobs that encountered a deadlock
4
+ # retry_on ActiveRecord::Deadlocked
5
+
6
+ # Most jobs are safe to ignore if the underlying records are no longer available
7
+ # discard_on ActiveJob::DeserializationError
8
+ end
9
+ <% end -%>
@@ -0,0 +1,9 @@
1
+ <% module_namespacing do -%>
2
+ class <%= class_name %>Job < ApplicationJob
3
+ queue_as :<%= options[:queue] %>
4
+
5
+ def perform(*args)
6
+ # Do something later
7
+ end
8
+ end
9
+ <% end -%>
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: activejob
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.2.3
5
+ platform: ruby
6
+ authors:
7
+ - David Heinemeier Hansson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-03-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 5.2.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 5.2.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: globalid
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.6
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.3.6
41
+ description: Declare job classes that can be run by a variety of queueing backends.
42
+ email: david@loudthinking.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - CHANGELOG.md
48
+ - MIT-LICENSE
49
+ - README.md
50
+ - lib/active_job.rb
51
+ - lib/active_job/arguments.rb
52
+ - lib/active_job/base.rb
53
+ - lib/active_job/callbacks.rb
54
+ - lib/active_job/configured_job.rb
55
+ - lib/active_job/core.rb
56
+ - lib/active_job/enqueuing.rb
57
+ - lib/active_job/exceptions.rb
58
+ - lib/active_job/execution.rb
59
+ - lib/active_job/gem_version.rb
60
+ - lib/active_job/logging.rb
61
+ - lib/active_job/queue_adapter.rb
62
+ - lib/active_job/queue_adapters.rb
63
+ - lib/active_job/queue_adapters/async_adapter.rb
64
+ - lib/active_job/queue_adapters/backburner_adapter.rb
65
+ - lib/active_job/queue_adapters/delayed_job_adapter.rb
66
+ - lib/active_job/queue_adapters/inline_adapter.rb
67
+ - lib/active_job/queue_adapters/qu_adapter.rb
68
+ - lib/active_job/queue_adapters/que_adapter.rb
69
+ - lib/active_job/queue_adapters/queue_classic_adapter.rb
70
+ - lib/active_job/queue_adapters/resque_adapter.rb
71
+ - lib/active_job/queue_adapters/sidekiq_adapter.rb
72
+ - lib/active_job/queue_adapters/sneakers_adapter.rb
73
+ - lib/active_job/queue_adapters/sucker_punch_adapter.rb
74
+ - lib/active_job/queue_adapters/test_adapter.rb
75
+ - lib/active_job/queue_name.rb
76
+ - lib/active_job/queue_priority.rb
77
+ - lib/active_job/railtie.rb
78
+ - lib/active_job/test_case.rb
79
+ - lib/active_job/test_helper.rb
80
+ - lib/active_job/translation.rb
81
+ - lib/active_job/version.rb
82
+ - lib/rails/generators/job/job_generator.rb
83
+ - lib/rails/generators/job/templates/application_job.rb.tt
84
+ - lib/rails/generators/job/templates/job.rb.tt
85
+ homepage: http://rubyonrails.org
86
+ licenses:
87
+ - MIT
88
+ metadata:
89
+ source_code_uri: https://github.com/rails/rails/tree/v5.2.3/activejob
90
+ changelog_uri: https://github.com/rails/rails/blob/v5.2.3/activejob/CHANGELOG.md
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 2.2.2
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirements: []
106
+ rubygems_version: 3.0.1
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: Job framework with pluggable queues.
110
+ test_files: []