activejob-cancel 0.1.0 → 0.3.2
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/.github/workflows/ci.yml +46 -0
- data/CHANGELOG.md +20 -0
- data/README.md +2 -2
- data/Rakefile +2 -0
- data/activejob-cancel.gemspec +5 -3
- data/gemfiles/active_job_42.gemfile +3 -1
- data/gemfiles/active_job_50.gemfile +3 -1
- data/gemfiles/active_job_51.gemfile +13 -0
- data/gemfiles/active_job_52.gemfile +13 -0
- data/gemfiles/active_job_60.gemfile +13 -0
- data/gemfiles/active_job_master.gemfile +14 -0
- data/lib/active_job/cancel.rb +7 -4
- data/lib/active_job/cancel/queue_adapters.rb +2 -0
- data/lib/active_job/cancel/queue_adapters/delayed_job_adapter.rb +1 -0
- data/lib/active_job/cancel/queue_adapters/resque_adapter.rb +40 -0
- data/lib/active_job/cancel/queue_adapters/sidekiq_adapter.rb +5 -3
- data/lib/active_job/cancel/queue_adapters/test_adapter.rb +48 -0
- data/lib/active_job/cancel/queue_adapters/test_adapter/rails.rb +16 -0
- data/lib/active_job/cancel/queue_adapters/test_adapter/rails_4.rb +25 -0
- data/lib/active_job/cancel/version.rb +1 -1
- metadata +53 -18
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7d137650d5f9e3142121de7b9efbdf937eea716cdf6eda01054940e335c32573
|
4
|
+
data.tar.gz: 94e4e662426e767f06ca11c8fb66d22d1c0fef96547c6c374759c17f81bfb649
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '039780d23836f10354b116a560a25696e22fa5c287e62a0cec116b7d95253539f9f9c0a25ae8ac65034714b816a9acf644b6dd0e050c7a2e4b7e56e5c266ba28'
|
7
|
+
data.tar.gz: 119419d1a4f806f798d671e4b384eb97730c6165bbb474c3ed5fc644c487f1f9c46aa90c4e3110c2d36c7e1fffba6a4d7307d0a40535f9b7259cec5b32e61e75
|
@@ -0,0 +1,46 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
name: Ruby ${{ matrix.ruby }}, Rails ${{ matrix.gemfile }}
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
ruby: [ "2.7", "2.3" ]
|
12
|
+
gemfile: [ "active_job_60.gemfile", "active_job_52.gemfile", "active_job_51.gemfile", "active_job_50.gemfile", "active_job_42.gemfile" ]
|
13
|
+
exclude:
|
14
|
+
- ruby: "2.3"
|
15
|
+
gemfile: "active_job_60.gemfile"
|
16
|
+
- ruby: "2.7"
|
17
|
+
gemfile: "active_job_42.gemfile"
|
18
|
+
- ruby: "2.6"
|
19
|
+
gemfile: "active_job_42.gemfile"
|
20
|
+
|
21
|
+
services:
|
22
|
+
redis:
|
23
|
+
image: redis
|
24
|
+
ports:
|
25
|
+
- 6379:6379
|
26
|
+
# Wait for starting Redis
|
27
|
+
options: >-
|
28
|
+
--health-cmd "redis-cli ping"
|
29
|
+
--health-interval 10s
|
30
|
+
--health-timeout 5s
|
31
|
+
--health-retries 5
|
32
|
+
|
33
|
+
env:
|
34
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile}}
|
35
|
+
|
36
|
+
steps:
|
37
|
+
- uses: actions/checkout@v2
|
38
|
+
- uses: ruby/setup-ruby@v1
|
39
|
+
with:
|
40
|
+
ruby-version: ${{ matrix.ruby }}
|
41
|
+
- name: Install dependencies
|
42
|
+
run: |
|
43
|
+
gem install bundler --no-document
|
44
|
+
bundle install
|
45
|
+
- name: Run test
|
46
|
+
run: bundle exec rake
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
## master
|
2
|
+
|
3
|
+
Nothing
|
4
|
+
|
5
|
+
## 0.3.2
|
6
|
+
|
7
|
+
* Use same keys and key types as other QueueAdapters do, to not break ActiveJob test helpers #33 [Brian Moran]
|
8
|
+
|
9
|
+
## 0.3.1
|
10
|
+
|
11
|
+
* Fix `NoMethodError` when using the cancel methods with the default queue name
|
12
|
+
|
13
|
+
## 0.3.0
|
14
|
+
|
15
|
+
* Add support for Active Job `TestAdapter` #19 [Hermann Mayer]
|
16
|
+
|
17
|
+
## 0.2.0
|
18
|
+
|
19
|
+
* Add support for `resque`
|
20
|
+
* Fix(SidekiqAdapter): fix case when worker's first argument is not a Hash #21 [Nguyễn Đức Long]
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# ActiveJob::Cancel
|
2
2
|
|
3
|
-
`activejob-cancel` provides cancel method to Active Job. Currently it supports only `Sidekiq`
|
3
|
+
`activejob-cancel` provides cancel method to Active Job. Currently it supports only `Sidekiq`, `Delayed Job`, `resque` and the Active Job `TestAdapter`.
|
4
4
|
|
5
|
-
|
5
|
+

|
6
6
|
[](http://badge.fury.io/rb/activejob-cancel)
|
7
7
|
[](https://codeclimate.com/github/y-yagi/activejob-cancel)
|
8
8
|
[](https://coveralls.io/github/y-yagi/activejob-cancel?branch=master)
|
data/Rakefile
CHANGED
data/activejob-cancel.gemspec
CHANGED
@@ -19,13 +19,15 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_dependency 'activejob', '>= 4.2.0'
|
21
21
|
spec.add_dependency 'activesupport', '>= 4.2.0'
|
22
|
-
spec.add_development_dependency "bundler"
|
23
|
-
spec.add_development_dependency "rake"
|
24
|
-
spec.add_development_dependency "minitest"
|
22
|
+
spec.add_development_dependency "bundler"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
spec.add_development_dependency "minitest"
|
25
25
|
spec.add_development_dependency "sidekiq"
|
26
26
|
spec.add_development_dependency "activerecord", '>= 4.2.0'
|
27
27
|
spec.add_development_dependency "delayed_job"
|
28
28
|
spec.add_development_dependency "delayed_job_active_record"
|
29
|
+
spec.add_development_dependency "resque"
|
30
|
+
spec.add_development_dependency "resque-scheduler"
|
29
31
|
spec.add_development_dependency "sqlite3"
|
30
32
|
spec.add_development_dependency "byebug"
|
31
33
|
end
|
@@ -5,7 +5,9 @@ gem 'rake'
|
|
5
5
|
gem 'sidekiq'
|
6
6
|
gem 'delayed_job'
|
7
7
|
gem 'delayed_job_active_record'
|
8
|
-
gem '
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3', '~> 1.3.6'
|
9
11
|
gem 'activesupport', '~> 4.2.0'
|
10
12
|
gem 'activejob', '~> 4.2.0'
|
11
13
|
gem 'activerecord', '~> 4.2.0'
|
@@ -5,7 +5,9 @@ gem 'rake'
|
|
5
5
|
gem 'sidekiq'
|
6
6
|
gem 'delayed_job'
|
7
7
|
gem 'delayed_job_active_record'
|
8
|
-
gem '
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3', '~> 1.3.6'
|
9
11
|
gem 'activesupport', '~> 5.0.0'
|
10
12
|
gem 'activejob', '~> 5.0.0'
|
11
13
|
gem 'activerecord', '~> 5.0.0'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'coveralls', require: false
|
4
|
+
gem 'rake'
|
5
|
+
gem 'sidekiq'
|
6
|
+
gem 'delayed_job'
|
7
|
+
gem 'delayed_job_active_record', '>= 4.1.2'
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3', '~> 1.3.6'
|
11
|
+
gem 'activesupport', '~> 5.1.0'
|
12
|
+
gem 'activejob', '~> 5.1.0'
|
13
|
+
gem 'activerecord', '~> 5.1.0'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'coveralls', require: false
|
4
|
+
gem 'rake'
|
5
|
+
gem 'sidekiq'
|
6
|
+
gem 'delayed_job'
|
7
|
+
gem 'delayed_job_active_record', '>= 4.1.2'
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3', '~> 1.3.6'
|
11
|
+
gem 'activesupport', '~> 5.2.0'
|
12
|
+
gem 'activejob', '~> 5.2.0'
|
13
|
+
gem 'activerecord', '~> 5.2.0'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'coveralls', require: false
|
4
|
+
gem 'rake'
|
5
|
+
gem 'sidekiq'
|
6
|
+
gem 'delayed_job'
|
7
|
+
gem 'delayed_job_active_record', '>= 4.1.2'
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3'
|
11
|
+
gem 'activesupport', '~> 6.0.0'
|
12
|
+
gem 'activejob', '~> 6.0.0'
|
13
|
+
gem 'activerecord', '~> 6.0.0'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'coveralls', require: false
|
4
|
+
gem 'rake'
|
5
|
+
gem 'sidekiq'
|
6
|
+
gem 'delayed_job'
|
7
|
+
gem 'delayed_job_active_record'
|
8
|
+
gem 'resque'
|
9
|
+
gem 'resque-scheduler'
|
10
|
+
gem 'sqlite3'
|
11
|
+
gem 'arel', github: 'rails/arel'
|
12
|
+
gem 'activesupport', github: 'rails/rails'
|
13
|
+
gem 'activejob', github: 'rails/rails'
|
14
|
+
gem 'activerecord', github: 'rails/rails'
|
data/lib/active_job/cancel.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
require 'active_support'
|
2
2
|
require 'active_job'
|
3
3
|
require 'active_job/cancel/queue_adapters'
|
4
|
+
require 'active_job/cancel/queue_adapters/test_adapter'
|
4
5
|
require 'active_job/cancel/version'
|
5
6
|
|
6
7
|
module ActiveJob
|
7
8
|
module Cancel
|
8
9
|
extend ActiveSupport::Concern
|
9
10
|
|
10
|
-
SUPPORTED_ADAPTERS = %w(Sidekiq DelayedJob).freeze
|
11
|
+
SUPPORTED_ADAPTERS = %w(Sidekiq DelayedJob Resque Test).freeze
|
11
12
|
|
12
13
|
def cancel
|
13
14
|
if self.class.can_cancel?
|
@@ -20,7 +21,7 @@ module ActiveJob
|
|
20
21
|
module ClassMethods
|
21
22
|
def cancel(job_id)
|
22
23
|
if can_cancel?
|
23
|
-
cancel_adapter_class.new.cancel(job_id, self.queue_name)
|
24
|
+
cancel_adapter_class.new.cancel(job_id, self.new.queue_name)
|
24
25
|
else
|
25
26
|
raise NotImplementedError, 'This queueing backend does not support cancel.'
|
26
27
|
end
|
@@ -28,7 +29,7 @@ module ActiveJob
|
|
28
29
|
|
29
30
|
def cancel_by(opts)
|
30
31
|
if can_cancel?
|
31
|
-
cancel_adapter_class.new.cancel_by(opts, self.queue_name)
|
32
|
+
cancel_adapter_class.new.cancel_by(opts, self.new.queue_name)
|
32
33
|
else
|
33
34
|
raise NotImplementedError, 'This queueing backend does not support cancel_by.'
|
34
35
|
end
|
@@ -54,4 +55,6 @@ module ActiveJob
|
|
54
55
|
end
|
55
56
|
end
|
56
57
|
|
57
|
-
|
58
|
+
ActiveSupport.on_load(:active_job) do
|
59
|
+
include(ActiveJob::Cancel)
|
60
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'resque'
|
2
|
+
|
3
|
+
module ActiveJob
|
4
|
+
module Cancel
|
5
|
+
module QueueAdapters
|
6
|
+
class ResqueAdapter
|
7
|
+
def cancel(job_id, queue_name)
|
8
|
+
queue_name = queue_name.call if queue_name.is_a?(Proc)
|
9
|
+
job = find_job(job_id, queue_name)
|
10
|
+
|
11
|
+
if job
|
12
|
+
Resque.redis.lrem(redis_key_for_queue(queue_name), 0, Resque.encode(job))
|
13
|
+
return true
|
14
|
+
else
|
15
|
+
if defined?(Resque.remove_delayed_selection)
|
16
|
+
removed_count = Resque.remove_delayed_selection { |target| target[0]["job_id"] == job_id }
|
17
|
+
return true if removed_count > 0
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
false
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
def find_job(job_id, queue_name)
|
26
|
+
jobs = Resque.list_range(redis_key_for_queue(queue_name), 0, Resque.size(queue_name))
|
27
|
+
jobs = [jobs] if jobs.is_a?(Hash)
|
28
|
+
|
29
|
+
jobs.find do |job|
|
30
|
+
job["args"][0]["job_id"] == job_id
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def redis_key_for_queue(queue)
|
35
|
+
"queue:#{queue}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -5,6 +5,7 @@ module ActiveJob
|
|
5
5
|
module QueueAdapters
|
6
6
|
class SidekiqAdapter
|
7
7
|
def cancel(job_id, queue_name)
|
8
|
+
queue_name = queue_name.call if queue_name.is_a?(Proc)
|
8
9
|
job = find_job_by_job_id(job_id, queue_name)
|
9
10
|
|
10
11
|
if job
|
@@ -18,6 +19,7 @@ module ActiveJob
|
|
18
19
|
def cancel_by(opts, queue_name)
|
19
20
|
raise ArgumentError, 'Please specify ":provider_job_id"' unless opts[:provider_job_id]
|
20
21
|
|
22
|
+
queue_name = queue_name.call if queue_name.is_a?(Proc)
|
21
23
|
job = find_job_by_provider_job_id(opts[:provider_job_id], queue_name)
|
22
24
|
if job
|
23
25
|
job.delete
|
@@ -40,17 +42,17 @@ module ActiveJob
|
|
40
42
|
|
41
43
|
def find_job_from_queue(job_id, queue_name)
|
42
44
|
queue = Sidekiq::Queue.new(queue_name)
|
43
|
-
queue.detect { |j| j.args.first['job_id'] == job_id }
|
45
|
+
queue.detect { |j| j.args.first.is_a?(Hash) && j.args.first['job_id'] == job_id }
|
44
46
|
end
|
45
47
|
|
46
48
|
def find_job_from_scheduled_set(job_id)
|
47
49
|
scheduled_set = Sidekiq::ScheduledSet.new
|
48
|
-
scheduled_set.detect { |j| j.args.first['job_id'] == job_id }
|
50
|
+
scheduled_set.detect { |j| j.args.first.is_a?(Hash) && j.args.first['job_id'] == job_id }
|
49
51
|
end
|
50
52
|
|
51
53
|
def find_job_from_retry_set(job_id)
|
52
54
|
scheduled_set = Sidekiq::RetrySet.new
|
53
|
-
scheduled_set.detect { |j| j.args.first['job_id'] == job_id }
|
55
|
+
scheduled_set.detect { |j| j.args.first.is_a?(Hash) && j.args.first['job_id'] == job_id }
|
54
56
|
end
|
55
57
|
end
|
56
58
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'active_job'
|
2
|
+
|
3
|
+
module ActiveJob
|
4
|
+
module QueueAdapters
|
5
|
+
# Unfortunately we need to monkey patch the Rails TestAdapter class,
|
6
|
+
# because it does not save the job id on the enqueued_jobs array. We rely
|
7
|
+
# on a persisted id to fulfill the canceling of any given job id.
|
8
|
+
class TestAdapter
|
9
|
+
def initialize
|
10
|
+
if Gem::Requirement.new('>= 5.0').satisfied_by? ActiveJob.version
|
11
|
+
require 'active_job/cancel/queue_adapters/test_adapter/rails'
|
12
|
+
elsif Gem::Requirement.new('~> 4.2').satisfied_by? ActiveJob.version
|
13
|
+
require 'active_job/cancel/queue_adapters/test_adapter/rails_4'
|
14
|
+
end
|
15
|
+
|
16
|
+
super
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
module Cancel
|
22
|
+
module QueueAdapters
|
23
|
+
class TestAdapter
|
24
|
+
def cancel(job_id, queue_name)
|
25
|
+
original_count = adapter.enqueued_jobs.count
|
26
|
+
adapter.enqueued_jobs = reject_job_from_enqueued_jobs(job_id)
|
27
|
+
(original_count == adapter.enqueued_jobs.count) ? false : true
|
28
|
+
end
|
29
|
+
|
30
|
+
def cancel_by(opts, queue_name)
|
31
|
+
unless opts[:provider_job_id]
|
32
|
+
raise ArgumentError, 'Please specify ":provider_job_id"'
|
33
|
+
end
|
34
|
+
self.cancel(opts[:provider_job_id], queue_name)
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
def adapter
|
39
|
+
ActiveJob::Base.queue_adapter
|
40
|
+
end
|
41
|
+
|
42
|
+
def reject_job_from_enqueued_jobs(job_id)
|
43
|
+
adapter.enqueued_jobs.reject { |job| job[:id] == job_id }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module ActiveJob
|
2
|
+
module QueueAdapters
|
3
|
+
class TestAdapter
|
4
|
+
alias original_job_to_hash job_to_hash
|
5
|
+
|
6
|
+
def job_to_hash(job, extras = {})
|
7
|
+
original_job_to_hash(job, extras).merge!({
|
8
|
+
id: job.job_id,
|
9
|
+
job: job.class,
|
10
|
+
args: job.serialize.fetch('arguments'),
|
11
|
+
queue: job.queue_name
|
12
|
+
})
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module ActiveJob
|
2
|
+
module QueueAdapters
|
3
|
+
class TestAdapter
|
4
|
+
alias original_enqueue enqueue
|
5
|
+
alias original_enqueue_at enqueue_at
|
6
|
+
|
7
|
+
def fixup_last_job(job)
|
8
|
+
list = perform_enqueued_jobs ? performed_jobs : enqueued_jobs
|
9
|
+
list.last[:id] = job.job_id
|
10
|
+
end
|
11
|
+
|
12
|
+
def enqueue(job)
|
13
|
+
result = original_enqueue(job)
|
14
|
+
fixup_last_job(job)
|
15
|
+
result
|
16
|
+
end
|
17
|
+
|
18
|
+
def enqueue_at(job, timestamp)
|
19
|
+
result = original_enqueue_at(job, timestamp)
|
20
|
+
fixup_last_job(job)
|
21
|
+
result
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activejob-cancel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuji Yaginuma
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -42,44 +42,44 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
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: '
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: sidekiq
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +136,34 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: resque
|
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: resque-scheduler
|
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'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: sqlite3
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,8 +199,9 @@ executables: []
|
|
171
199
|
extensions: []
|
172
200
|
extra_rdoc_files: []
|
173
201
|
files:
|
202
|
+
- ".github/workflows/ci.yml"
|
174
203
|
- ".gitignore"
|
175
|
-
-
|
204
|
+
- CHANGELOG.md
|
176
205
|
- CODE_OF_CONDUCT.md
|
177
206
|
- Gemfile
|
178
207
|
- LICENSE.txt
|
@@ -183,10 +212,18 @@ files:
|
|
183
212
|
- bin/setup
|
184
213
|
- gemfiles/active_job_42.gemfile
|
185
214
|
- gemfiles/active_job_50.gemfile
|
215
|
+
- gemfiles/active_job_51.gemfile
|
216
|
+
- gemfiles/active_job_52.gemfile
|
217
|
+
- gemfiles/active_job_60.gemfile
|
218
|
+
- gemfiles/active_job_master.gemfile
|
186
219
|
- lib/active_job/cancel.rb
|
187
220
|
- lib/active_job/cancel/queue_adapters.rb
|
188
221
|
- lib/active_job/cancel/queue_adapters/delayed_job_adapter.rb
|
222
|
+
- lib/active_job/cancel/queue_adapters/resque_adapter.rb
|
189
223
|
- lib/active_job/cancel/queue_adapters/sidekiq_adapter.rb
|
224
|
+
- lib/active_job/cancel/queue_adapters/test_adapter.rb
|
225
|
+
- lib/active_job/cancel/queue_adapters/test_adapter/rails.rb
|
226
|
+
- lib/active_job/cancel/queue_adapters/test_adapter/rails_4.rb
|
190
227
|
- lib/active_job/cancel/version.rb
|
191
228
|
- lib/activejob/cancel.rb
|
192
229
|
homepage: https://github.com/y-yagi/activejob-cancel
|
@@ -208,10 +245,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
245
|
- !ruby/object:Gem::Version
|
209
246
|
version: '0'
|
210
247
|
requirements: []
|
211
|
-
|
212
|
-
rubygems_version: 2.5.1
|
248
|
+
rubygems_version: 3.1.4
|
213
249
|
signing_key:
|
214
250
|
specification_version: 4
|
215
251
|
summary: activejob-cancel provides cancel method to Active Job
|
216
252
|
test_files: []
|
217
|
-
has_rdoc:
|