backburner 1.6.1 → 1.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49962267b79394b57f1c5adef6bee09e157b6739e6ef284b34f73de5a195bee8
4
- data.tar.gz: 7f89821645420c0ec11592e3f11f1a9cfe1d4e088e6db4fcb4a84f338f3d4ca7
3
+ metadata.gz: 83834669d5d4ccf208c32935bccba313a04b097611c10f5ebe071f81aae32b6d
4
+ data.tar.gz: 97d85b5bf0a1e9c623f5c9fd35d2d130d27599b53b9f554a56d36dd0eeab8ea1
5
5
  SHA512:
6
- metadata.gz: 65bf80745461e0d6402f549f5bcb6755435ccb97f77123686f338ec18ba0a9bc140e8bc321520d3fbf39feb302c705b3f163b8eb785f07a23688cb117a1abb8d
7
- data.tar.gz: b1af70707c86341e342109e833c6b1d12fd5b47995be3f66efda319e433c9d2a3f7c0384f1ca562d8a598e7e1f08d08339c0a3714439838ffdf7851e05cdf07b
6
+ metadata.gz: b6eafd91259c9a156077451cbc5ff243317a70b92af17f45887566bfd50a358eff365aa407554760e1781482623fe96882fbc6473cc0541ed058eb0f5aa643e2
7
+ data.tar.gz: 9d90985cdbc5040961f183cfb560223b2bce8c547a10eeedf460c0f5c3db56726849888903668e8d201b43c5d7b2498f9cf1f1ffbcedd6501316c4222ad4e78f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## Version 1.7.0 (Jan 2 2026)
4
+
5
+ * Changes to ActiveJob Rails adapter to remove default adapter and associated tests
6
+
3
7
  ## Version 1.6.1 (Jan 16 2023)
4
8
 
5
9
  * Change `File.exists?`` to `File.exist?` as latest ruby versions have removed support (@ShrutiSaagar).
data/backburner.gemspec CHANGED
@@ -21,6 +21,8 @@ Gem::Specification.new do |s|
21
21
  s.add_runtime_dependency 'concurrent-ruby', '~> 1.0', '>= 1.0.1'
22
22
 
23
23
  s.add_development_dependency 'rake'
24
- s.add_development_dependency 'minitest', '3.2.0'
24
+ s.add_development_dependency 'minitest', '5.1.0'
25
25
  s.add_development_dependency 'mocha'
26
+ s.add_development_dependency 'activejob', '>= 6.0'
27
+ s.add_development_dependency 'activesupport', '>= 6.0'
26
28
  end
@@ -0,0 +1,34 @@
1
+ module ActiveJob
2
+ module QueueAdapters
3
+ # Explicitly remove the implementation existing in older rails'.
4
+ remove_const(:BackburnerAdapter) if const_defined?(:BackburnerAdapter)
5
+
6
+ # = Backburner adapter for Active Job
7
+ #
8
+ # To use Backburner set the queue_adapter config to +:backburner+.
9
+ #
10
+ # Rails.application.config.active_job.queue_adapter = :backburner
11
+ class BackburnerAdapter < ::ActiveJob::QueueAdapters::AbstractAdapter
12
+ def enqueue(job)
13
+ response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority)
14
+ job.provider_job_id = response[:id] if response.is_a?(Hash)
15
+ response
16
+ end
17
+
18
+ def enqueue_at(job, timestamp)
19
+ delay = timestamp - Time.current.to_f
20
+ response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority, delay: delay)
21
+ job.provider_job_id = response[:id] if response.is_a?(Hash)
22
+ response
23
+ end
24
+
25
+ class JobWrapper
26
+ class << self
27
+ def perform(job_data)
28
+ Base.execute job_data
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
1
  module Backburner
2
- VERSION = "1.6.1"
2
+ VERSION = "1.7.0"
3
3
  end
data/lib/backburner.rb CHANGED
@@ -15,6 +15,7 @@ require 'backburner/workers/forking'
15
15
  require 'backburner/workers/threads_on_fork'
16
16
  require 'backburner/workers/threading'
17
17
  require 'backburner/queue'
18
+ require 'active_job/queue_adapters/backburner_adapter' if defined?(ActiveJob)
18
19
 
19
20
  module Backburner
20
21
  class << self
@@ -0,0 +1,11 @@
1
+ require 'active_job'
2
+ require 'active_job/queue_adapters/backburner_adapter'
3
+
4
+ ActiveJob::Base.queue_adapter = :backburner
5
+ ActiveJob::Base.logger = nil
6
+
7
+ class TestJob < ActiveJob::Base
8
+ def perform(arg)
9
+ true
10
+ end
11
+ end
data/test/test_helper.rb CHANGED
@@ -1,11 +1,8 @@
1
1
  require 'rubygems'
2
2
  require 'tempfile'
3
3
  require 'minitest/autorun'
4
- begin
5
- require 'mocha/setup'
6
- rescue LoadError
7
- require 'mocha'
8
- end
4
+ require 'mocha/minitest'
5
+
9
6
  $LOAD_PATH.unshift File.expand_path("lib")
10
7
  require 'backburner'
11
8
  require File.expand_path('../helpers/templogger', __FILE__)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backburner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Esquenazi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-16 00:00:00.000000000 Z
11
+ date: 2026-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: beaneater
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - '='
80
80
  - !ruby/object:Gem::Version
81
- version: 3.2.0
81
+ version: 5.1.0
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - '='
87
87
  - !ruby/object:Gem::Version
88
- version: 3.2.0
88
+ version: 5.1.0
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: mocha
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -100,6 +100,34 @@ dependencies:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: activejob
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '6.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '6.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: activesupport
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '6.0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '6.0'
103
131
  description: Beanstalk background job processing made easy
104
132
  email:
105
133
  - nesquena@gmail.com
@@ -128,6 +156,7 @@ files:
128
156
  - examples/retried.rb
129
157
  - examples/simple.rb
130
158
  - examples/stress.rb
159
+ - lib/active_job/queue_adapters/backburner_adapter.rb
131
160
  - lib/backburner.rb
132
161
  - lib/backburner/async_proxy.rb
133
162
  - lib/backburner/cli.rb
@@ -149,6 +178,7 @@ files:
149
178
  - test/async_proxy_test.rb
150
179
  - test/back_burner_test.rb
151
180
  - test/connection_test.rb
181
+ - test/fixtures/active_jobs.rb
152
182
  - test/fixtures/hooked.rb
153
183
  - test/fixtures/test_fork_jobs.rb
154
184
  - test/fixtures/test_forking_jobs.rb
@@ -194,6 +224,7 @@ test_files:
194
224
  - test/async_proxy_test.rb
195
225
  - test/back_burner_test.rb
196
226
  - test/connection_test.rb
227
+ - test/fixtures/active_jobs.rb
197
228
  - test/fixtures/hooked.rb
198
229
  - test/fixtures/test_fork_jobs.rb
199
230
  - test/fixtures/test_forking_jobs.rb