sidekiq_publisher 4.0.0 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/Appraisals +26 -20
- data/CHANGELOG.md +8 -0
- data/README.md +2 -1
- data/gemfiles/rails_6.1_sidekiq_6.4.gemfile +2 -1
- data/gemfiles/{rails_6.1_sidekiq_5.2.gemfile → rails_6.1_sidekiq_6.5.gemfile} +2 -1
- data/gemfiles/rails_7.0_sidekiq_6.4.gemfile +10 -0
- data/gemfiles/rails_7.0_sidekiq_6.5.gemfile +10 -0
- data/gemfiles/rails_7.1_sidekiq_6.4.gemfile +10 -0
- data/gemfiles/rails_7.1_sidekiq_6.5.gemfile +10 -0
- data/lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb +2 -2
- data/lib/sidekiq_publisher/database_connection.rb +3 -2
- data/lib/sidekiq_publisher/version.rb +1 -1
- data/lib/sidekiq_publisher/worker.rb +1 -1
- data/lib/sidekiq_publisher.rb +5 -1
- data/sidekiq_publisher.gemspec +3 -2
- metadata +32 -12
- data/gemfiles/rails_6.1_sidekiq_6.0.gemfile +0 -9
- data/gemfiles/rails_6.1_sidekiq_6.1.gemfile +0 -9
- data/gemfiles/rails_6.1_sidekiq_6.2.gemfile +0 -9
- data/gemfiles/rails_6.1_sidekiq_6.3.gemfile +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d694726b7f22c4d22b2994c73c905981740a2ee6c487bb6ae815c793d766725
|
4
|
+
data.tar.gz: 1fe7ccd8338205c1472c6e7ce8e544c848289a31fd1ba9fa64a93bc7699c9a87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31289860faedbc39cc671f59222d15b66558d61a18c32f3318283d15a01a61a50048ae3edbecd259186483c9684ff4f64f2cb6b0c44ee6f33c3f970613beb7eb
|
7
|
+
data.tar.gz: 5fe476a56e27cf5b8a16b71faaf3ac50df0e62c11165f358abca361687aea54254663c9f0cf7f89351269d8ff4ee63dd44baca87d1db6f78c6923a0ecb4286f1
|
data/.github/CODEOWNERS
CHANGED
@@ -1 +1 @@
|
|
1
|
-
* @ezcater/
|
1
|
+
* @ezcater/monolith-experience
|
data/Appraisals
CHANGED
@@ -1,37 +1,43 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
appraise "rails-6.1-sidekiq-
|
3
|
+
appraise "rails-6.1-sidekiq-6.4" do
|
4
4
|
gem "activejob", "~> 6.1.0"
|
5
|
+
gem "activerecord", "~> 6.1.0"
|
5
6
|
gem "activesupport", "~> 6.1.0"
|
6
|
-
gem "sidekiq", "~>
|
7
|
+
gem "sidekiq", "~> 6.4.1"
|
7
8
|
end
|
8
9
|
|
9
|
-
appraise "rails-6.1-sidekiq-6.
|
10
|
+
appraise "rails-6.1-sidekiq-6.5" do
|
10
11
|
gem "activejob", "~> 6.1.0"
|
12
|
+
gem "activerecord", "~> 6.1.0"
|
11
13
|
gem "activesupport", "~> 6.1.0"
|
12
|
-
gem "sidekiq", "~> 6.0
|
14
|
+
gem "sidekiq", "~> 6.5.0"
|
13
15
|
end
|
14
16
|
|
15
|
-
appraise "rails-
|
16
|
-
gem "activejob", "~>
|
17
|
-
gem "
|
18
|
-
gem "
|
17
|
+
appraise "rails-7.0-sidekiq-6.4" do
|
18
|
+
gem "activejob", "~> 7.0.0"
|
19
|
+
gem "activerecord", "~> 7.0.0"
|
20
|
+
gem "activesupport", "~> 7.0.0"
|
21
|
+
gem "sidekiq", "~> 6.4.1"
|
19
22
|
end
|
20
23
|
|
21
|
-
appraise "rails-
|
22
|
-
gem "activejob", "~>
|
23
|
-
gem "
|
24
|
-
gem "
|
24
|
+
appraise "rails-7.0-sidekiq-6.5" do
|
25
|
+
gem "activejob", "~> 7.0.0"
|
26
|
+
gem "activerecord", "~> 7.0.0"
|
27
|
+
gem "activesupport", "~> 7.0.0"
|
28
|
+
gem "sidekiq", "~> 6.5.0"
|
25
29
|
end
|
26
30
|
|
27
|
-
appraise "rails-
|
28
|
-
gem "activejob", "~>
|
29
|
-
gem "
|
30
|
-
gem "
|
31
|
+
appraise "rails-7.1-sidekiq-6.4" do
|
32
|
+
gem "activejob", "~> 7.1.0"
|
33
|
+
gem "activerecord", "~> 7.1.0"
|
34
|
+
gem "activesupport", "~> 7.1.0"
|
35
|
+
gem "sidekiq", "~> 6.4.1"
|
31
36
|
end
|
32
37
|
|
33
|
-
appraise "rails-
|
34
|
-
gem "activejob", "~>
|
35
|
-
gem "
|
36
|
-
gem "
|
38
|
+
appraise "rails-7.1-sidekiq-6.5" do
|
39
|
+
gem "activejob", "~> 7.1.0"
|
40
|
+
gem "activerecord", "~> 7.1.0"
|
41
|
+
gem "activesupport", "~> 7.1.0"
|
42
|
+
gem "sidekiq", "~> 6.5.0"
|
37
43
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# sidekiq_publisher
|
2
2
|
|
3
|
+
## 6.0.0
|
4
|
+
- BREAKING: Remove SidekiqPublisher::DatabaseConnection.transaction_open? method
|
5
|
+
- Add stage_to_database_outside_transaction configuration option
|
6
|
+
|
7
|
+
## 5.0.0
|
8
|
+
- BREAKING: Drop support for Sidekiq < 6.1.
|
9
|
+
- Add support for ActiveSupport and ActiveJob 7.1
|
10
|
+
|
3
11
|
## 4.0.0
|
4
12
|
- BREAKING: Enqueue directly to Redis unless in a transaction ([#74](https://github.com/ezcater/sidekiq_publisher/pull/74/))
|
5
13
|
|
data/README.md
CHANGED
@@ -19,7 +19,8 @@ publisher process handles retries and ensure that each job is delivered to Sidek
|
|
19
19
|
> :warning: Not all jobs are staged in Postgres. This is determined dynamically:
|
20
20
|
> if the job is enqueued from within an `ActiveRecord` transaction, then it is
|
21
21
|
> staged in Postgres. If not, then it bypasses Postgres and is enqueued directly
|
22
|
-
> to Redis via Sidekiq.
|
22
|
+
> to Redis via Sidekiq. To opt out of this behavior configure with
|
23
|
+
> SidekiqPublisher.configure { |c| c.stage_to_database_outside_transaction = true }
|
23
24
|
|
24
25
|
## Installation
|
25
26
|
|
@@ -11,7 +11,7 @@ module ActiveJob
|
|
11
11
|
JOB_WRAPPER_CLASS = ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper.to_s.freeze
|
12
12
|
|
13
13
|
def enqueue(job)
|
14
|
-
if SidekiqPublisher::DatabaseConnection.
|
14
|
+
if SidekiqPublisher::DatabaseConnection.should_stage_to_database?
|
15
15
|
create_job_record(job)
|
16
16
|
else
|
17
17
|
sidekiq_adapter.enqueue(job)
|
@@ -19,7 +19,7 @@ module ActiveJob
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def enqueue_at(job, timestamp)
|
22
|
-
if SidekiqPublisher::DatabaseConnection.
|
22
|
+
if SidekiqPublisher::DatabaseConnection.should_stage_to_database?
|
23
23
|
create_job_record(job, timestamp)
|
24
24
|
else
|
25
25
|
sidekiq_adapter.enqueue_at(job, timestamp)
|
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
module SidekiqPublisher
|
4
4
|
module DatabaseConnection
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.should_stage_to_database?
|
6
|
+
SidekiqPublisher.stage_to_database_outside_transaction ||
|
7
|
+
ActiveRecord::Base.connection.transaction_open?
|
7
8
|
end
|
8
9
|
end
|
9
10
|
end
|
@@ -10,7 +10,7 @@ module SidekiqPublisher
|
|
10
10
|
|
11
11
|
module ClassMethods
|
12
12
|
def client_push(item)
|
13
|
-
if SidekiqPublisher::DatabaseConnection.
|
13
|
+
if SidekiqPublisher::DatabaseConnection.should_stage_to_database?
|
14
14
|
SidekiqPublisher::Job.create_job!(item)
|
15
15
|
else
|
16
16
|
super
|
data/lib/sidekiq_publisher.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# FIXES: uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger
|
4
|
+
require "logger"
|
5
|
+
require "active_record"
|
3
6
|
require "active_support"
|
4
7
|
require "active_support/core_ext/numeric/time"
|
5
8
|
require "sidekiq_publisher/version"
|
@@ -19,7 +22,7 @@ module SidekiqPublisher
|
|
19
22
|
DEFAULT_JOB_RETENTION_PERIOD = 1.day.freeze
|
20
23
|
|
21
24
|
class << self
|
22
|
-
attr_accessor :logger, :exception_reporter, :metrics_reporter
|
25
|
+
attr_accessor :logger, :exception_reporter, :metrics_reporter, :stage_to_database_outside_transaction
|
23
26
|
attr_writer :batch_size, :job_retention_period
|
24
27
|
|
25
28
|
def configure
|
@@ -36,6 +39,7 @@ module SidekiqPublisher
|
|
36
39
|
|
37
40
|
# For test purposes
|
38
41
|
def reset!
|
42
|
+
@stage_to_database_outside_transaction = nil
|
39
43
|
@batch_size = nil
|
40
44
|
@job_retention_period = nil
|
41
45
|
@exception_reporter = nil
|
data/sidekiq_publisher.gemspec
CHANGED
@@ -59,7 +59,8 @@ Gem::Specification.new do |spec|
|
|
59
59
|
spec.add_development_dependency "shoulda-matchers"
|
60
60
|
spec.add_development_dependency "simplecov", "< 0.18"
|
61
61
|
|
62
|
+
spec.add_runtime_dependency "activerecord", ">= 6.1", "< 7.2"
|
62
63
|
spec.add_runtime_dependency "activerecord-postgres_pub_sub", ">= 0.4.0"
|
63
|
-
spec.add_runtime_dependency "activesupport", ">= 6.1", "< 7.
|
64
|
-
spec.add_runtime_dependency "sidekiq", ">=
|
64
|
+
spec.add_runtime_dependency "activesupport", ">= 6.1", "< 7.2"
|
65
|
+
spec.add_runtime_dependency "sidekiq", ">= 6.4.1", "< 7"
|
65
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_publisher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ezCater, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -226,6 +226,26 @@ dependencies:
|
|
226
226
|
- - "<"
|
227
227
|
- !ruby/object:Gem::Version
|
228
228
|
version: '0.18'
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: activerecord
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '6.1'
|
236
|
+
- - "<"
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: '7.2'
|
239
|
+
type: :runtime
|
240
|
+
prerelease: false
|
241
|
+
version_requirements: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '6.1'
|
246
|
+
- - "<"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '7.2'
|
229
249
|
- !ruby/object:Gem::Dependency
|
230
250
|
name: activerecord-postgres_pub_sub
|
231
251
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,7 +269,7 @@ dependencies:
|
|
249
269
|
version: '6.1'
|
250
270
|
- - "<"
|
251
271
|
- !ruby/object:Gem::Version
|
252
|
-
version: '7.
|
272
|
+
version: '7.2'
|
253
273
|
type: :runtime
|
254
274
|
prerelease: false
|
255
275
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -259,14 +279,14 @@ dependencies:
|
|
259
279
|
version: '6.1'
|
260
280
|
- - "<"
|
261
281
|
- !ruby/object:Gem::Version
|
262
|
-
version: '7.
|
282
|
+
version: '7.2'
|
263
283
|
- !ruby/object:Gem::Dependency
|
264
284
|
name: sidekiq
|
265
285
|
requirement: !ruby/object:Gem::Requirement
|
266
286
|
requirements:
|
267
287
|
- - ">="
|
268
288
|
- !ruby/object:Gem::Version
|
269
|
-
version:
|
289
|
+
version: 6.4.1
|
270
290
|
- - "<"
|
271
291
|
- !ruby/object:Gem::Version
|
272
292
|
version: '7'
|
@@ -276,7 +296,7 @@ dependencies:
|
|
276
296
|
requirements:
|
277
297
|
- - ">="
|
278
298
|
- !ruby/object:Gem::Version
|
279
|
-
version:
|
299
|
+
version: 6.4.1
|
280
300
|
- - "<"
|
281
301
|
- !ruby/object:Gem::Version
|
282
302
|
version: '7'
|
@@ -297,12 +317,12 @@ files:
|
|
297
317
|
- LICENSE.txt
|
298
318
|
- README.md
|
299
319
|
- app/models/sidekiq_publisher/job.rb
|
300
|
-
- gemfiles/rails_6.1_sidekiq_5.2.gemfile
|
301
|
-
- gemfiles/rails_6.1_sidekiq_6.0.gemfile
|
302
|
-
- gemfiles/rails_6.1_sidekiq_6.1.gemfile
|
303
|
-
- gemfiles/rails_6.1_sidekiq_6.2.gemfile
|
304
|
-
- gemfiles/rails_6.1_sidekiq_6.3.gemfile
|
305
320
|
- gemfiles/rails_6.1_sidekiq_6.4.gemfile
|
321
|
+
- gemfiles/rails_6.1_sidekiq_6.5.gemfile
|
322
|
+
- gemfiles/rails_7.0_sidekiq_6.4.gemfile
|
323
|
+
- gemfiles/rails_7.0_sidekiq_6.5.gemfile
|
324
|
+
- gemfiles/rails_7.1_sidekiq_6.4.gemfile
|
325
|
+
- gemfiles/rails_7.1_sidekiq_6.5.gemfile
|
306
326
|
- lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb
|
307
327
|
- lib/generators/sidekiq_publisher/install_generator.rb
|
308
328
|
- lib/generators/sidekiq_publisher/templates/create_sidekiq_publisher_jobs.rb
|
@@ -345,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
365
|
- !ruby/object:Gem::Version
|
346
366
|
version: '0'
|
347
367
|
requirements: []
|
348
|
-
rubygems_version: 3.
|
368
|
+
rubygems_version: 3.5.22
|
349
369
|
signing_key:
|
350
370
|
specification_version: 4
|
351
371
|
summary: Publisher for enqueuing jobs to Sidekiq
|