delayed_job_bulk 1.0.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05c11cf8af193726ad0b4d538c0737dfbd5a69c722c1c53cbe98f3a5f10b0951
4
- data.tar.gz: 02be4625112103fdb3df05d714a6d5145c796007a7ae12095e1434986f4dd682
3
+ metadata.gz: 7abd45f410fcaa48ca0bd2dc2632aa3c933bbe2d6cf4a42e3e2e0ae758c30b2f
4
+ data.tar.gz: ee8914210571586ba659ad13edf4e0c30a99f7ec815acb229a3da75b5ffc7331
5
5
  SHA512:
6
- metadata.gz: 24fcebb44d2fbe234b950e99fd62ebbb575b075490c6ef9a567553cd1a7f02feb32311ed79ab11e0faf4cadf082e70739c701dfbf0d8cbf825898d844ac4f06d
7
- data.tar.gz: 5292c1c9d65ea58c24afcf505a0bafc0b42bddc305f1c51584f421b6e43af0ad2c157bdc9a502eda96b223ac72dc60f0cce5a2cd78b215475b8c080ff6b14972
6
+ metadata.gz: 9906141a363f051a90b76e6a6b0689caee3b2cd2a4b7408526206e95acaba7cf2e6cb58db1a2664408d5ca3630e7dfc506796ec981c61be35694ecc6df8931fd
7
+ data.tar.gz: 2cc4a84c227378de9f20049b9a331392f48f22275c186e08501e02704f97695d348ada0df3a70ca35153436f3dd3c6a97c3de912f522e194dbed9c66d01e1864
@@ -24,9 +24,20 @@ jobs:
24
24
  strategy:
25
25
  fail-fast: false
26
26
  matrix:
27
- ruby: [2.7, '3.0', 3.1, 3.2, 3.3]
28
- gemfile: ['rails60', 'rails61', 'rails70', 'rails71']
27
+ ruby: [2.7, '3.0', 3.1, 3.2, 3.3, 3.4]
28
+ gemfile: ['rails60', 'rails61', 'rails70', 'rails71', 'rails72', 'rails80']
29
29
  database: ['postgresql', 'mysql', 'sqlite']
30
+ exclude:
31
+ - ruby: 2.7
32
+ gemfile: rails72
33
+ - ruby: 2.7
34
+ gemfile: rails80
35
+ - ruby: 3.0
36
+ gemfile: rails72
37
+ - ruby: 3.0
38
+ gemfile: rails80
39
+ - ruby: 3.1
40
+ gemfile: rails80
30
41
 
31
42
  name: ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}, ${{ matrix.database }}
32
43
 
@@ -42,6 +53,9 @@ jobs:
42
53
  with:
43
54
  ruby-version: ${{ matrix.ruby }}
44
55
  bundler-cache: true
56
+ - name: Bundle list
57
+ run: |
58
+ bundle list
45
59
  - name: Prepare test
46
60
  run: |
47
61
  cd spec/dummy
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.1.1
4
+
5
+ * Support run_at setting for activejob >= 7.0.
6
+
7
+ ## 1.1.0
8
+
9
+ * Support perform_all_later for activejob >= 7.1.
10
+
3
11
  ## 1.0.1
4
12
 
5
13
  * Add `frozen_string_literal: true`.
data/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ gem "rails"
6
+ gem "sqlite3"
7
+ gem "mysql2"
8
+ gem "pg"
@@ -24,12 +24,9 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency "delayed_job_active_record", ">= 4.1"
25
25
  spec.add_dependency "activesupport", ">= 6.0"
26
26
  spec.add_dependency "activerecord", ">= 6.0"
27
+ spec.add_dependency "activejob", ">= 6.0"
27
28
 
28
- spec.add_development_dependency "rails"
29
29
  spec.add_development_dependency "rake"
30
30
  spec.add_development_dependency "rspec-rails"
31
31
  spec.add_development_dependency "simplecov"
32
- spec.add_development_dependency "pg"
33
- spec.add_development_dependency "mysql2"
34
- spec.add_development_dependency "sqlite3"
35
32
  end
@@ -2,6 +2,17 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 6.0.0"
4
4
  gem "sqlite3", "~> 1.4.0"
5
+ gem "mysql2"
6
+ gem "pg"
7
+
5
8
  gem "psych", "~> 3.3.0"
9
+ gem "concurrent-ruby", "<= 1.3.4"
10
+
11
+ if RUBY_VERSION >= "3.4"
12
+ gem "base64"
13
+ gem "bigdecimal"
14
+ gem "drb"
15
+ gem "mutex_m"
16
+ end
6
17
 
7
18
  gemspec path: "../"
@@ -2,5 +2,16 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 6.1.0"
4
4
  gem "sqlite3", "~> 1.4.0"
5
+ gem "mysql2"
6
+ gem "pg"
7
+
8
+ gem "concurrent-ruby", "<= 1.3.4"
9
+
10
+ if RUBY_VERSION >= "3.4"
11
+ gem "base64"
12
+ gem "bigdecimal"
13
+ gem "drb"
14
+ gem "mutex_m"
15
+ end
5
16
 
6
17
  gemspec path: "../"
@@ -2,5 +2,16 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 7.0.1"
4
4
  gem "sqlite3", "~> 1.4.0"
5
+ gem "mysql2"
6
+ gem "pg"
7
+
8
+ gem "concurrent-ruby", "<= 1.3.4"
9
+
10
+ if RUBY_VERSION >= "3.4"
11
+ gem "base64"
12
+ gem "bigdecimal"
13
+ gem "drb"
14
+ gem "mutex_m"
15
+ end
5
16
 
6
17
  gemspec path: "../"
@@ -2,5 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 7.1.0"
4
4
  gem "sqlite3", "~> 1.6.6"
5
+ gem "mysql2"
6
+ gem "pg"
5
7
 
6
8
  gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 7.2.0"
4
+ gem "sqlite3"
5
+ gem "mysql2"
6
+ gem "pg"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 8.0.0"
4
+ gem "sqlite3"
5
+ gem "mysql2"
6
+ gem "pg"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Delayed
4
+ module Backend
5
+ class Bulk
6
+ module EnqueueAll
7
+ def enqueue_all(jobs)
8
+ Delayed::Backend::Bulk.enqueue(jobs).size
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ ActiveSupport.on_load :active_job do
16
+ ActiveJob::QueueAdapters::DelayedJobAdapter.include Delayed::Backend::Bulk::EnqueueAll
17
+ end
@@ -3,7 +3,7 @@
3
3
  module Delayed
4
4
  module Backend
5
5
  class Bulk
6
- VERSION = "1.0.1"
6
+ VERSION = "1.1.1"
7
7
  end
8
8
  end
9
9
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'bulk/callbacks'
4
+ require_relative 'bulk/enqueue_all'
4
5
 
5
6
  module Delayed
6
7
  module Backend
@@ -26,7 +27,7 @@ module Delayed
26
27
  end
27
28
  end
28
29
 
29
- @jobs
30
+ @valid_jobs
30
31
  end
31
32
 
32
33
  private
@@ -36,7 +37,8 @@ module Delayed
36
37
  Delayed::Backend::JobPreparer.new(
37
38
  ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper.new(active_job.serialize),
38
39
  queue: active_job.queue_name,
39
- priority: active_job.priority
40
+ priority: active_job.priority,
41
+ run_at: build_run_at(active_job.scheduled_at)
40
42
  ).prepare
41
43
  ).tap do |job|
42
44
  job.created_at = current_time
@@ -44,6 +46,14 @@ module Delayed
44
46
  end
45
47
  end
46
48
 
49
+ def build_run_at(scheduled_at)
50
+ if scheduled_at.is_a?(Float)
51
+ Time.at(scheduled_at)
52
+ else
53
+ scheduled_at
54
+ end
55
+ end
56
+
47
57
  def current_time
48
58
  @current_time ||= Time.zone.now
49
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_bulk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshikazu Kaneta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-23 00:00:00.000000000 Z
11
+ date: 2025-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: delayed_job
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '6.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rails
70
+ name: activejob
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
75
+ version: '6.0'
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '6.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,48 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: pg
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: mysql2
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: sqlite3
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
125
  description: Bulk insert many jobs at once for delayed_job
168
126
  email:
169
127
  - kaneta@sitebridge.co.jp
@@ -184,8 +142,11 @@ files:
184
142
  - gemfiles/rails61.gemfile
185
143
  - gemfiles/rails70.gemfile
186
144
  - gemfiles/rails71.gemfile
145
+ - gemfiles/rails72.gemfile
146
+ - gemfiles/rails80.gemfile
187
147
  - lib/delayed/backend/bulk.rb
188
148
  - lib/delayed/backend/bulk/callbacks.rb
149
+ - lib/delayed/backend/bulk/enqueue_all.rb
189
150
  - lib/delayed/backend/bulk/version.rb
190
151
  - lib/delayed_job_bulk.rb
191
152
  homepage: https://github.com/kanety/delayed_job_bulk
@@ -207,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
168
  - !ruby/object:Gem::Version
208
169
  version: '0'
209
170
  requirements: []
210
- rubygems_version: 3.3.3
171
+ rubygems_version: 3.5.11
211
172
  signing_key:
212
173
  specification_version: 4
213
174
  summary: Bulk insert many jobs at once for delayed_job