background_worker 0.0.5 → 0.4.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 +5 -5
- data/.bundle/config +2 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/release.yml +59 -0
- data/.github/workflows/ruby.yml +19 -0
- data/.gitignore +4 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +25 -0
- data/README.md +40 -16
- data/Rakefile +12 -1
- data/background_worker.gemspec +9 -0
- data/gemfiles/rails60.gemfile +8 -0
- data/gemfiles/rails61.gemfile +8 -0
- data/lib/background_worker.rb +8 -2
- data/lib/background_worker/base.rb +4 -4
- data/lib/background_worker/config.rb +2 -1
- data/lib/background_worker/version.rb +1 -1
- data/spec/base_spec.rb +39 -0
- data/spec/schema.rb +5 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/support/coverage_loader.rb +4 -0
- data/spec/uid_spec.rb +12 -0
- metadata +122 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6e2f1d5ad9dc6f2f79dfcd55838f8b7d9ded9c7518fc77f90ecea89fe537539c
|
4
|
+
data.tar.gz: 1e05a4e548ebdfea30e6bcf9ecc20dd7aaa3edc75966a2433f1f8ca016eb879c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c98bc9599be6db3a4a5f5dd6b8dc699a9209dcf6889553ae786ee7c780198d4af3c37198fdf486477f5a150288c1ab818632eeefb655bf7453c5372806ba4871
|
7
|
+
data.tar.gz: 19d317689204f81a81f782c6a8697087c13d5616341abd6258a0284249804fd216c389cf07e738993b522ec1346c517224a040531a574428233e0170502eb506
|
data/.bundle/config
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- "v*"
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
build:
|
10
|
+
name: Build
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- name: Checkout
|
14
|
+
uses: actions/checkout@v2
|
15
|
+
- uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
bundler-cache: true
|
18
|
+
- run: bundle exec rake
|
19
|
+
|
20
|
+
release:
|
21
|
+
needs: build
|
22
|
+
name: Release
|
23
|
+
runs-on: ubuntu-latest
|
24
|
+
steps:
|
25
|
+
- name: Checkout
|
26
|
+
uses: actions/checkout@v2
|
27
|
+
|
28
|
+
- name: Generate Changelog
|
29
|
+
run: |
|
30
|
+
# Get version from github ref (remove 'refs/tags/' and prefix 'v')
|
31
|
+
version="${GITHUB_REF#refs/tags/v}"
|
32
|
+
npx changelog-parser CHANGELOG.md | jq -cr ".versions | .[] | select(.version == \"$version\") | .body" > ${{ github.workflow }}-CHANGELOG.txt
|
33
|
+
|
34
|
+
- name: Release
|
35
|
+
uses: softprops/action-gh-release@v1
|
36
|
+
with:
|
37
|
+
body_path: ${{ github.workflow }}-CHANGELOG.txt
|
38
|
+
env:
|
39
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
40
|
+
|
41
|
+
publish:
|
42
|
+
needs: [build, release]
|
43
|
+
name: Publish
|
44
|
+
runs-on: ubuntu-latest
|
45
|
+
|
46
|
+
steps:
|
47
|
+
- uses: actions/checkout@v2
|
48
|
+
- uses: ruby/setup-ruby@v1
|
49
|
+
|
50
|
+
- name: Publish to RubyGems
|
51
|
+
run: |
|
52
|
+
mkdir -p $HOME/.gem
|
53
|
+
touch $HOME/.gem/credentials
|
54
|
+
chmod 0600 $HOME/.gem/credentials
|
55
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
56
|
+
gem build *.gemspec
|
57
|
+
gem push *.gem
|
58
|
+
env:
|
59
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: Build and Test
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
gemfile: [rails60, rails61]
|
9
|
+
ruby: ["2.6", "2.7", "3.0"]
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
env:
|
12
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
18
|
+
bundler-cache: true
|
19
|
+
- run: bundle exec rake
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.0.0
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
|
+
This changelog adheres to [Keep a CHANGELOG](http://keepachangelog.com/).
|
5
|
+
|
6
|
+
## 0.4.0
|
7
|
+
|
8
|
+
- [TT-8623] Update to build with github actions / ruby 3.0 / rails 6.1
|
9
|
+
|
10
|
+
## 0.3.0
|
11
|
+
|
12
|
+
- [TT-6292] Support Rails 5.2 built-in redis cache, remove legacy supports
|
13
|
+
|
14
|
+
## 0.2.1
|
15
|
+
### Fixed
|
16
|
+
- [RU-123] Worker disconnecting within transactions in rails 4+
|
17
|
+
|
18
|
+
## 0.2.0
|
19
|
+
### Added
|
20
|
+
- [RU-79] Release connections after execution for Rails 4
|
21
|
+
|
22
|
+
## 0.1.0
|
23
|
+
### Added
|
24
|
+
- [TT-1392] Changelog file
|
25
|
+
- [TT-2141] Only verify connections for Rails 3
|
data/README.md
CHANGED
@@ -1,10 +1,13 @@
|
|
1
|
-
Background Worker
|
2
|
-
|
1
|
+
# Background Worker
|
2
|
+
|
3
|
+
[](http://badge.fury.io/rb/background_worker)
|
4
|
+
[](https://github.com/sealink/background_worker/actions)
|
3
5
|
|
4
6
|
Provides a worker abstraction with an additional status channel.
|
5
7
|
|
6
8
|
Start by making a worker class which extends from BackgroundWorker::Base
|
7
9
|
|
10
|
+
```ruby
|
8
11
|
class MyWorker < BackgroundWorker::Base
|
9
12
|
def my_task(options={})
|
10
13
|
report_progress('Starting')
|
@@ -17,48 +20,69 @@ Start by making a worker class which extends from BackgroundWorker::Base
|
|
17
20
|
{original_message: message}
|
18
21
|
end
|
19
22
|
end
|
23
|
+
```
|
20
24
|
|
21
25
|
Then, when you want to perform a task in the background, use
|
22
26
|
klass#perform_in_background which exists in Base:
|
23
27
|
|
24
|
-
|
28
|
+
```ruby
|
29
|
+
worker_id = MyWorker.perform_in_background(:my_task, message: "hello!")
|
30
|
+
```
|
25
31
|
|
26
32
|
# Backgrounded
|
27
33
|
|
28
34
|
By default this will call your instance method in the foreground -- you have to
|
29
35
|
provide an #enqueue_with configuration like so:
|
30
36
|
|
37
|
+
```ruby
|
31
38
|
BackgroundWorker.configure(
|
32
39
|
enqueue_with: -> klass, method_name, options {
|
33
40
|
Resque.enqueue(klass, method_name, options)
|
34
41
|
}
|
35
42
|
)
|
43
|
+
```
|
36
44
|
|
37
45
|
This is independent of the status reporting which (currently) always uses Redis.
|
38
46
|
|
39
47
|
# Getting the status
|
40
48
|
|
41
|
-
The worker_id you are returned can be used to get the status
|
42
|
-
whether the worker has finished successfully, failed, or in progress:
|
49
|
+
The worker_id you are returned can be used to get the status and
|
50
|
+
whether the worker has finished successfully, failed, or is still in progress:
|
43
51
|
|
52
|
+
```ruby
|
44
53
|
state = BackgroundWorker.get_state_of(worker_id)
|
54
|
+
```
|
45
55
|
|
46
56
|
The state is represented by a hash with the following keys:
|
47
57
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
58
|
+
| key | description |
|
59
|
+
| ------------------------------------------------------------ | -------------------------------------------------------------------- |
|
60
|
+
| message | Reported message |
|
61
|
+
| detailed_message | Detailed version of above when provided |
|
62
|
+
| status | :successful, :failed, or null if still processing |
|
63
|
+
| completed | True if report_failed, report_successful called (or worker |
|
64
|
+
| finished without exception -- which calls report_successful) |
|
65
|
+
| data | Arbitrary data returned by worker method on success or report_failed |
|
54
66
|
|
55
67
|
If an exception is raised, the worker will call #report_failed with the
|
56
|
-
details. You can provide a callback with #after_exception in the config
|
68
|
+
details. You can provide a callback with #after_exception in the config.
|
69
|
+
|
70
|
+
# Installation
|
71
|
+
|
72
|
+
Add to your Gemfile:
|
57
73
|
|
58
|
-
|
74
|
+
```ruby
|
75
|
+
gem 'background_worker'
|
76
|
+
```
|
59
77
|
|
60
|
-
|
78
|
+
# Release
|
61
79
|
|
62
|
-
|
63
|
-
gem 'background_worker'
|
80
|
+
To publish a new version of this gem the following steps must be taken.
|
64
81
|
|
82
|
+
- Update the version in the following files
|
83
|
+
```
|
84
|
+
CHANGELOG.md
|
85
|
+
lib/background_worker/version.rb
|
86
|
+
```
|
87
|
+
- Create a tag using the format v0.1.0
|
88
|
+
- Follow build progress in GitHub actions
|
data/Rakefile
CHANGED
@@ -1 +1,12 @@
|
|
1
|
-
require
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
desc 'Default: run specs.'
|
4
|
+
task :default => :spec
|
5
|
+
|
6
|
+
require 'rspec/core/rake_task'
|
7
|
+
|
8
|
+
desc "Run specs"
|
9
|
+
RSpec::Core::RakeTask.new do |t|
|
10
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
11
|
+
# Put spec opts in a file named .rspec in root
|
12
|
+
end
|
data/background_worker.gemspec
CHANGED
@@ -19,8 +19,17 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
20
20
|
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
21
21
|
spec.require_paths = ['lib']
|
22
|
+
spec.required_ruby_version = '>= 2.6'
|
22
23
|
|
24
|
+
spec.add_development_dependency 'activesupport'
|
23
25
|
spec.add_development_dependency 'bundler'
|
24
26
|
spec.add_development_dependency 'rake'
|
27
|
+
spec.add_development_dependency 'rspec'
|
28
|
+
spec.add_development_dependency 'coverage-kit'
|
29
|
+
spec.add_development_dependency 'coveralls'
|
30
|
+
spec.add_development_dependency 'simplecov-rcov'
|
25
31
|
spec.add_development_dependency 'rubocop'
|
32
|
+
|
33
|
+
spec.add_development_dependency 'activerecord'
|
34
|
+
spec.add_development_dependency 'sqlite3'
|
26
35
|
end
|
data/lib/background_worker.rb
CHANGED
@@ -24,8 +24,14 @@ module BackgroundWorker
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.verify_active_connections!
|
27
|
-
|
28
|
-
|
27
|
+
if defined?(Rails)
|
28
|
+
Rails.cache.reconnect if Rails.cache.respond_to?(:reconnect)
|
29
|
+
Rails.cache.redis.close if Rails.cache.respond_to?(:redis)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.release_connections!
|
34
|
+
ActiveRecord::Base.clear_all_connections!
|
29
35
|
end
|
30
36
|
|
31
37
|
def self.after_exception(e)
|
@@ -7,14 +7,12 @@ module BackgroundWorker
|
|
7
7
|
attr_accessor :uid, :state
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
|
-
Time.zone = Setting.time_zone
|
11
|
-
|
12
10
|
@uid = options[:uid]
|
13
11
|
|
14
12
|
# Store state persistently, to enable status checkups & progress reporting
|
15
13
|
@state = BackgroundWorker::PersistentState.new(@uid, options.except(:uid))
|
16
14
|
log("Created #{self.class}")
|
17
|
-
log("Options are: #{options.
|
15
|
+
log("Options are: #{options.inspect}")
|
18
16
|
end
|
19
17
|
|
20
18
|
# Report progress...
|
@@ -79,11 +77,13 @@ module BackgroundWorker
|
|
79
77
|
#
|
80
78
|
# It will just call your preferred method in the worker.
|
81
79
|
def perform(method_name, options = {})
|
82
|
-
BackgroundWorker.verify_active_connections!
|
80
|
+
BackgroundWorker.verify_active_connections! if BackgroundWorker.config.backgrounded
|
83
81
|
|
84
82
|
worker = new(options)
|
85
83
|
execution = WorkerExecution.new(worker, method_name, options)
|
86
84
|
execution.call
|
85
|
+
ensure
|
86
|
+
BackgroundWorker.release_connections! if BackgroundWorker.config.backgrounded
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
@@ -2,7 +2,7 @@ require 'logger'
|
|
2
2
|
|
3
3
|
module BackgroundWorker
|
4
4
|
class Config
|
5
|
-
attr_reader :logger, :enqueue_with
|
5
|
+
attr_reader :logger, :enqueue_with, :backgrounded
|
6
6
|
|
7
7
|
# Configuration includes following options:
|
8
8
|
# logger: what logger to user throughout
|
@@ -19,6 +19,7 @@ module BackgroundWorker
|
|
19
19
|
@logger = attrs.fetch(:logger, ::Logger.new(STDOUT))
|
20
20
|
@enqueue_with = attrs.fetch(:enqueue_with, method(:foreground_enqueue))
|
21
21
|
@after_exception = attrs.fetch(:after_exception, method(:default_after_exception))
|
22
|
+
@backgrounded = attrs.fetch(:backgrounded, true)
|
22
23
|
end
|
23
24
|
|
24
25
|
# Callback fired when an exception occurs
|
data/spec/base_spec.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'active_support/core_ext/hash/keys' # Hash.symbolize_keys
|
4
|
+
require 'active_support/core_ext/numeric/time' # Numeric.hours
|
5
|
+
|
6
|
+
require 'active_record'
|
7
|
+
|
8
|
+
DB_FILE = 'tmp/test_db'
|
9
|
+
FileUtils.mkdir_p File.dirname(DB_FILE)
|
10
|
+
FileUtils.rm_f DB_FILE
|
11
|
+
|
12
|
+
ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => DB_FILE
|
13
|
+
|
14
|
+
load('spec/schema.rb')
|
15
|
+
|
16
|
+
describe BackgroundWorker::Base do
|
17
|
+
let(:cache) { double(write: nil, read: nil, reconnect: nil, store: nil) }
|
18
|
+
let(:model_class) { Model = Class.new(ActiveRecord::Base) }
|
19
|
+
let(:worker_class) {
|
20
|
+
Class.new(BackgroundWorker::Base) do
|
21
|
+
def store_in_cache(opts)
|
22
|
+
Rails.cache.store(opts[:value])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
}
|
26
|
+
|
27
|
+
before do
|
28
|
+
stub_const 'Model', model_class
|
29
|
+
stub_const 'Rails', double(cache: cache, env: 'production')
|
30
|
+
BackgroundWorker.configure(backgrounded: false)
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should perform action and handle transactions/connections appropriately' do
|
34
|
+
Model.transaction do
|
35
|
+
worker_class.perform_in_background(:store_in_cache, value: 42)
|
36
|
+
end
|
37
|
+
expect(cache).to have_received(:store).with(42)
|
38
|
+
end
|
39
|
+
end
|
data/spec/schema.rb
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
+
# Require this file using `require "spec_helper.rb"` to ensure that it is only
|
4
|
+
# loaded once.
|
5
|
+
#
|
6
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require 'bundler/setup'
|
10
|
+
require 'active_support/core_ext/string/inflections' #underscore
|
11
|
+
|
12
|
+
require 'support/coverage_loader'
|
13
|
+
|
14
|
+
require 'background_worker'
|
data/spec/uid_spec.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BackgroundWorker::Uid do
|
4
|
+
let(:class_name) { 'CopyWorker' }
|
5
|
+
let(:method) { 'make_copy' }
|
6
|
+
let(:uid_object) { BackgroundWorker::Uid.new(class_name, method) }
|
7
|
+
|
8
|
+
context '#generate' do
|
9
|
+
subject(:uid) { uid_object.generate }
|
10
|
+
it { is_expected.to match(/copy_worker:make_copy:[0-9a-f]{16}/) }
|
11
|
+
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: background_worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Noack
|
@@ -10,8 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-01-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: activesupport
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - ">="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '0'
|
15
29
|
- !ruby/object:Gem::Dependency
|
16
30
|
name: bundler
|
17
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,6 +54,62 @@ dependencies:
|
|
40
54
|
- - ">="
|
41
55
|
- !ruby/object:Gem::Version
|
42
56
|
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: rspec
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: coverage-kit
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: coveralls
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: simplecov-rcov
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
type: :development
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
43
113
|
- !ruby/object:Gem::Dependency
|
44
114
|
name: rubocop
|
45
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,6 +124,34 @@ dependencies:
|
|
54
124
|
- - ">="
|
55
125
|
- !ruby/object:Gem::Version
|
56
126
|
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: activerecord
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: sqlite3
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
type: :development
|
149
|
+
prerelease: false
|
150
|
+
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
57
155
|
description: See README for full details
|
58
156
|
email:
|
59
157
|
- development@travellink.com.au
|
@@ -63,12 +161,21 @@ executables: []
|
|
63
161
|
extensions: []
|
64
162
|
extra_rdoc_files: []
|
65
163
|
files:
|
164
|
+
- ".bundle/config"
|
165
|
+
- ".github/dependabot.yml"
|
166
|
+
- ".github/workflows/release.yml"
|
167
|
+
- ".github/workflows/ruby.yml"
|
168
|
+
- ".gitignore"
|
66
169
|
- ".rubocop.yml"
|
170
|
+
- ".ruby-version"
|
171
|
+
- CHANGELOG.md
|
67
172
|
- Gemfile
|
68
173
|
- LICENSE.txt
|
69
174
|
- README.md
|
70
175
|
- Rakefile
|
71
176
|
- background_worker.gemspec
|
177
|
+
- gemfiles/rails60.gemfile
|
178
|
+
- gemfiles/rails61.gemfile
|
72
179
|
- lib/background_worker.rb
|
73
180
|
- lib/background_worker/base.rb
|
74
181
|
- lib/background_worker/config.rb
|
@@ -76,6 +183,11 @@ files:
|
|
76
183
|
- lib/background_worker/uid.rb
|
77
184
|
- lib/background_worker/version.rb
|
78
185
|
- lib/background_worker/worker_execution.rb
|
186
|
+
- spec/base_spec.rb
|
187
|
+
- spec/schema.rb
|
188
|
+
- spec/spec_helper.rb
|
189
|
+
- spec/support/coverage_loader.rb
|
190
|
+
- spec/uid_spec.rb
|
79
191
|
homepage: http://github.com/sealink/background_worker
|
80
192
|
licenses:
|
81
193
|
- MIT
|
@@ -88,16 +200,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
200
|
requirements:
|
89
201
|
- - ">="
|
90
202
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
203
|
+
version: '2.6'
|
92
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
205
|
requirements:
|
94
206
|
- - ">="
|
95
207
|
- !ruby/object:Gem::Version
|
96
208
|
version: '0'
|
97
209
|
requirements: []
|
98
|
-
|
99
|
-
rubygems_version: 2.4.5
|
210
|
+
rubygems_version: 3.2.3
|
100
211
|
signing_key:
|
101
212
|
specification_version: 4
|
102
213
|
summary: Background worker abstraction with status updates
|
103
|
-
test_files:
|
214
|
+
test_files:
|
215
|
+
- spec/base_spec.rb
|
216
|
+
- spec/schema.rb
|
217
|
+
- spec/spec_helper.rb
|
218
|
+
- spec/support/coverage_loader.rb
|
219
|
+
- spec/uid_spec.rb
|