ae_active_job_state 1.4.0 → 1.5.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/LICENSE.txt +1 -1
- data/ae_active_job_state.gemspec +4 -4
- data/lib/ae_active_job_state/delete_old_job_states_job.rb +1 -1
- data/lib/ae_active_job_state/has_job_state.rb +12 -4
- data/lib/ae_active_job_state/job_state.rb +1 -1
- data/lib/ae_active_job_state/version.rb +1 -1
- data/lib/generators/ae_active_job_state/templates/add_worker_class_column_to_job_state_table.rb +1 -1
- data/lib/generators/ae_active_job_state/templates/create_ae_active_job_state_tables.rb +1 -1
- metadata +16 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a36d3251147c02ccddd3897a60a623f1718e954586d1b98532eca6395a4f5d7
|
4
|
+
data.tar.gz: c60b1a78279f89eab6afd5893c577d413f234ab83bf4e0c692216fb5c475208a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13878aef77c807f642609e5b658649070e87d3caca78a14f34f3c89aa454ed2f7cfeb909ac672042e446e5787073aeb9b491ad19f5075452087fbb98fcf2f6b9
|
7
|
+
data.tar.gz: 105953f5f2f3c60f25360e71b0fa3ee478e067c1f778bbead1bc85764d1bb899a1a95cea723dd3ccded6cbb85af3c3553aed050225d984b01a731fd000af621c
|
data/LICENSE.txt
CHANGED
data/ae_active_job_state.gemspec
CHANGED
@@ -15,11 +15,11 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|.*gemspec)}] }
|
16
16
|
spec.require_paths = ['lib']
|
17
17
|
|
18
|
-
spec.required_ruby_version = Gem::Requirement.new('< 3.
|
18
|
+
spec.required_ruby_version = Gem::Requirement.new('< 3.5')
|
19
19
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
20
20
|
|
21
21
|
spec.add_dependency('aasm', ['>= 5.1', '< 6'])
|
22
|
-
spec.add_dependency('activejob', ['>=
|
23
|
-
spec.add_dependency('activerecord', ['>=
|
24
|
-
spec.add_dependency('activesupport', ['>=
|
22
|
+
spec.add_dependency('activejob', ['>= 7', '< 8.1'])
|
23
|
+
spec.add_dependency('activerecord', ['>= 7', '< 8.1'])
|
24
|
+
spec.add_dependency('activesupport', ['>= 7', '< 8.1'])
|
25
25
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module AeActiveJobState
|
4
4
|
class DeleteOldJobStatesJob < ActiveJob::Base
|
5
5
|
def perform(older_than_days: 30)
|
6
|
-
JobState.where(
|
6
|
+
JobState.where(updated_at: ...older_than_days.days.ago).destroy_all
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -12,8 +12,12 @@ module AeActiveJobState
|
|
12
12
|
# before_enqueue is only triggered on `perform_later`
|
13
13
|
# `perform_now` would go directly to around_perform
|
14
14
|
before_enqueue do |job|
|
15
|
-
@job_state = AeActiveJobState::JobState.create!(
|
16
|
-
|
15
|
+
@job_state = AeActiveJobState::JobState.create!(
|
16
|
+
status: JobState::STATE_PENDING,
|
17
|
+
active_job_id: job.job_id,
|
18
|
+
args: job.arguments,
|
19
|
+
worker_class: job.class
|
20
|
+
)
|
17
21
|
end
|
18
22
|
|
19
23
|
around_perform do |job, block|
|
@@ -30,8 +34,12 @@ module AeActiveJobState
|
|
30
34
|
# We continue to handle the case where the state was fully inserted before this callback is hit and the case
|
31
35
|
# where the job was never enqueued.
|
32
36
|
begin
|
33
|
-
@job_state = AeActiveJobState::JobState.create!(
|
34
|
-
|
37
|
+
@job_state = AeActiveJobState::JobState.create!(
|
38
|
+
status: JobState::STATE_PENDING,
|
39
|
+
active_job_id: job.job_id,
|
40
|
+
args: job.arguments,
|
41
|
+
worker_class: job.class
|
42
|
+
)
|
35
43
|
rescue ActiveRecord::RecordNotUnique, ActiveRecord::RecordInvalid
|
36
44
|
@job_state = AeActiveJobState::JobState.find_by!(active_job_id: job.job_id)
|
37
45
|
end
|
data/lib/generators/ae_active_job_state/templates/add_worker_class_column_to_job_state_table.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class AddWorkerClassColumnToJobStateTable < ActiveRecord::Migration[
|
3
|
+
class AddWorkerClassColumnToJobStateTable < ActiveRecord::Migration["#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}"]
|
4
4
|
def change
|
5
5
|
change_table :ae_active_job_state_job_states do |t|
|
6
6
|
t.string :worker_class
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class CreateAeActiveJobStateTables < ActiveRecord::Migration[
|
3
|
+
class CreateAeActiveJobStateTables < ActiveRecord::Migration["#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}"]
|
4
4
|
def change
|
5
5
|
create_table :ae_active_job_state_job_states do |t|
|
6
6
|
t.timestamps null: false
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ae_active_job_state
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AppFolio
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-04-17 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: aasm
|
@@ -36,60 +35,60 @@ dependencies:
|
|
36
35
|
requirements:
|
37
36
|
- - ">="
|
38
37
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
38
|
+
version: '7'
|
40
39
|
- - "<"
|
41
40
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
41
|
+
version: '8.1'
|
43
42
|
type: :runtime
|
44
43
|
prerelease: false
|
45
44
|
version_requirements: !ruby/object:Gem::Requirement
|
46
45
|
requirements:
|
47
46
|
- - ">="
|
48
47
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
48
|
+
version: '7'
|
50
49
|
- - "<"
|
51
50
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
51
|
+
version: '8.1'
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
53
|
name: activerecord
|
55
54
|
requirement: !ruby/object:Gem::Requirement
|
56
55
|
requirements:
|
57
56
|
- - ">="
|
58
57
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
58
|
+
version: '7'
|
60
59
|
- - "<"
|
61
60
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
61
|
+
version: '8.1'
|
63
62
|
type: :runtime
|
64
63
|
prerelease: false
|
65
64
|
version_requirements: !ruby/object:Gem::Requirement
|
66
65
|
requirements:
|
67
66
|
- - ">="
|
68
67
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
68
|
+
version: '7'
|
70
69
|
- - "<"
|
71
70
|
- !ruby/object:Gem::Version
|
72
|
-
version: '
|
71
|
+
version: '8.1'
|
73
72
|
- !ruby/object:Gem::Dependency
|
74
73
|
name: activesupport
|
75
74
|
requirement: !ruby/object:Gem::Requirement
|
76
75
|
requirements:
|
77
76
|
- - ">="
|
78
77
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
78
|
+
version: '7'
|
80
79
|
- - "<"
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
81
|
+
version: '8.1'
|
83
82
|
type: :runtime
|
84
83
|
prerelease: false
|
85
84
|
version_requirements: !ruby/object:Gem::Requirement
|
86
85
|
requirements:
|
87
86
|
- - ">="
|
88
87
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
88
|
+
version: '7'
|
90
89
|
- - "<"
|
91
90
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
91
|
+
version: '8.1'
|
93
92
|
description: Store ActiveJob status in ActiveRecord
|
94
93
|
email: opensource@appfolio.com
|
95
94
|
executables: []
|
@@ -111,7 +110,6 @@ licenses:
|
|
111
110
|
- MIT
|
112
111
|
metadata:
|
113
112
|
allowed_push_host: https://rubygems.org
|
114
|
-
post_install_message:
|
115
113
|
rdoc_options: []
|
116
114
|
require_paths:
|
117
115
|
- lib
|
@@ -119,15 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
117
|
requirements:
|
120
118
|
- - "<"
|
121
119
|
- !ruby/object:Gem::Version
|
122
|
-
version: '3.
|
120
|
+
version: '3.5'
|
123
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
122
|
requirements:
|
125
123
|
- - ">="
|
126
124
|
- !ruby/object:Gem::Version
|
127
125
|
version: '0'
|
128
126
|
requirements: []
|
129
|
-
rubygems_version: 3.
|
130
|
-
signing_key:
|
127
|
+
rubygems_version: 3.6.2
|
131
128
|
specification_version: 4
|
132
129
|
summary: Store ActiveJob status in ActiveRecord
|
133
130
|
test_files: []
|