maintenance_tasks 2.12.0 → 2.14.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.
- checksums.yaml +4 -4
- data/README.md +70 -3
- data/app/controllers/maintenance_tasks/application_controller.rb +7 -1
- data/app/jobs/concerns/maintenance_tasks/task_job_concern.rb +24 -4
- data/app/models/concerns/maintenance_tasks/run_concern.rb +532 -0
- data/app/models/maintenance_tasks/run.rb +1 -494
- data/app/models/maintenance_tasks/task.rb +17 -6
- data/app/views/layouts/maintenance_tasks/_navbar.html.erb +1 -1
- data/app/views/layouts/maintenance_tasks/application.html.erb +45 -13
- data/db/migrate/20201211151756_create_maintenance_tasks_runs.rb +1 -1
- data/db/migrate/20210219212931_change_cursor_to_string.rb +1 -1
- data/db/migrate/20210225152418_remove_index_on_task_name.rb +1 -1
- data/db/migrate/20210517131953_add_arguments_to_maintenance_tasks_runs.rb +1 -1
- data/db/migrate/20211210152329_add_lock_version_to_maintenance_tasks_runs.rb +1 -1
- data/db/migrate/20220706101937_change_runs_tick_columns_to_bigints.rb +1 -1
- data/db/migrate/20220713131925_add_index_on_task_name_and_status_to_runs.rb +1 -1
- data/db/migrate/20230622035229_add_metadata_to_runs.rb +1 -1
- data/lib/maintenance_tasks/engine.rb +2 -4
- data/lib/maintenance_tasks.rb +24 -0
- metadata +13 -12
|
@@ -21,10 +21,8 @@ module MaintenanceTasks
|
|
|
21
21
|
MaintenanceTasks.backtrace_cleaner = Rails.backtrace_cleaner
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
Rails.application.deprecators[:maintenance_tasks] = MaintenanceTasks.deprecator
|
|
27
|
-
end
|
|
24
|
+
initializer "maintenance_tasks.deprecator" do
|
|
25
|
+
Rails.application.deprecators[:maintenance_tasks] = MaintenanceTasks.deprecator
|
|
28
26
|
end
|
|
29
27
|
|
|
30
28
|
config.to_prepare do
|
data/lib/maintenance_tasks.rb
CHANGED
|
@@ -85,6 +85,30 @@ module MaintenanceTasks
|
|
|
85
85
|
# @return [ActiveSupport::Duration] the threshold in seconds after which a task is considered stuck.
|
|
86
86
|
mattr_accessor :stuck_task_duration, default: 5.minutes
|
|
87
87
|
|
|
88
|
+
# @!attribute status_reload_frequency
|
|
89
|
+
# @scope class
|
|
90
|
+
# The frequency at which to reload the run status during iteration.
|
|
91
|
+
# Defaults to 1 second, meaning reload status every second.
|
|
92
|
+
#
|
|
93
|
+
# @return [ActiveSupport::Duration, Numeric] the time interval between status reloads.
|
|
94
|
+
mattr_accessor :status_reload_frequency, default: 1.second
|
|
95
|
+
|
|
96
|
+
# @!attribute report_errors_as_handled
|
|
97
|
+
# @scope class
|
|
98
|
+
# How unexpected errors are reported to Rails.error.report.
|
|
99
|
+
#
|
|
100
|
+
# When an error occurs that isn't explicitly handled (e.g., via `report_on`),
|
|
101
|
+
# it gets reported to Rails.error.report. This setting determines whether
|
|
102
|
+
# these errors are marked as "handled" or "unhandled".
|
|
103
|
+
#
|
|
104
|
+
# The current default of `true` is for backwards compatibility, but it prevents
|
|
105
|
+
# error subscribers from distinguishing between expected and unexpected errors.
|
|
106
|
+
# Setting this to `false` provides more accurate error reporting and will become the default in v3.0.
|
|
107
|
+
#
|
|
108
|
+
# @see https://api.rubyonrails.org/classes/ActiveSupport/ErrorReporter.html#method-i-report
|
|
109
|
+
# @return [Boolean] whether to report unexpected errors as handled (true) or unhandled (false).
|
|
110
|
+
mattr_accessor :report_errors_as_handled, default: true
|
|
111
|
+
|
|
88
112
|
class << self
|
|
89
113
|
DEPRECATION_MESSAGE = "MaintenanceTasks.error_handler is deprecated and will be removed in the 3.0 release. " \
|
|
90
114
|
"Instead, reports will be sent to the Rails error reporter. Do not set a handler and subscribe " \
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: maintenance_tasks
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.14.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shopify Engineering
|
|
@@ -15,42 +15,42 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '7.
|
|
18
|
+
version: '7.1'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '7.
|
|
25
|
+
version: '7.1'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: activejob
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '7.
|
|
32
|
+
version: '7.1'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '7.
|
|
39
|
+
version: '7.1'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: activerecord
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '7.
|
|
46
|
+
version: '7.1'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '7.
|
|
53
|
+
version: '7.1'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: csv
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,14 +85,14 @@ dependencies:
|
|
|
85
85
|
requirements:
|
|
86
86
|
- - ">="
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '7.
|
|
88
|
+
version: '7.1'
|
|
89
89
|
type: :runtime
|
|
90
90
|
prerelease: false
|
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
93
|
- - ">="
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '7.
|
|
95
|
+
version: '7.1'
|
|
96
96
|
- !ruby/object:Gem::Dependency
|
|
97
97
|
name: zeitwerk
|
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,6 +122,7 @@ files:
|
|
|
122
122
|
- app/helpers/maintenance_tasks/tasks_helper.rb
|
|
123
123
|
- app/jobs/concerns/maintenance_tasks/task_job_concern.rb
|
|
124
124
|
- app/jobs/maintenance_tasks/task_job.rb
|
|
125
|
+
- app/models/concerns/maintenance_tasks/run_concern.rb
|
|
125
126
|
- app/models/maintenance_tasks/application_record.rb
|
|
126
127
|
- app/models/maintenance_tasks/batch_csv_collection_builder.rb
|
|
127
128
|
- app/models/maintenance_tasks/csv_collection_builder.rb
|
|
@@ -182,7 +183,7 @@ homepage: https://github.com/Shopify/maintenance_tasks
|
|
|
182
183
|
licenses:
|
|
183
184
|
- MIT
|
|
184
185
|
metadata:
|
|
185
|
-
source_code_uri: https://github.com/Shopify/maintenance_tasks/tree/v2.
|
|
186
|
+
source_code_uri: https://github.com/Shopify/maintenance_tasks/tree/v2.14.0
|
|
186
187
|
allowed_push_host: https://rubygems.org
|
|
187
188
|
rdoc_options: []
|
|
188
189
|
require_paths:
|
|
@@ -191,14 +192,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
191
192
|
requirements:
|
|
192
193
|
- - ">="
|
|
193
194
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: '3.
|
|
195
|
+
version: '3.2'
|
|
195
196
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
197
|
requirements:
|
|
197
198
|
- - ">="
|
|
198
199
|
- !ruby/object:Gem::Version
|
|
199
200
|
version: '0'
|
|
200
201
|
requirements: []
|
|
201
|
-
rubygems_version:
|
|
202
|
+
rubygems_version: 4.0.6
|
|
202
203
|
specification_version: 4
|
|
203
204
|
summary: A Rails engine for queuing and managing maintenance tasks
|
|
204
205
|
test_files: []
|