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 +4 -4
- data/CHANGELOG.md +4 -0
- data/backburner.gemspec +3 -1
- data/lib/active_job/queue_adapters/backburner_adapter.rb +34 -0
- data/lib/backburner/version.rb +1 -1
- data/lib/backburner.rb +1 -0
- data/test/fixtures/active_jobs.rb +11 -0
- data/test/test_helper.rb +2 -5
- metadata +35 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83834669d5d4ccf208c32935bccba313a04b097611c10f5ebe071f81aae32b6d
|
|
4
|
+
data.tar.gz: 97d85b5bf0a1e9c623f5c9fd35d2d130d27599b53b9f554a56d36dd0eeab8ea1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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', '
|
|
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
|
data/lib/backburner/version.rb
CHANGED
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
|
data/test/test_helper.rb
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
require 'rubygems'
|
|
2
2
|
require 'tempfile'
|
|
3
3
|
require 'minitest/autorun'
|
|
4
|
-
|
|
5
|
-
|
|
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.
|
|
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:
|
|
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:
|
|
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:
|
|
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
|