sidekiq-limit_fetch 3.4.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +42 -0
  3. data/Appraisals +35 -0
  4. data/CHANGELOG.md +22 -0
  5. data/LICENSE +22 -0
  6. data/README.md +52 -51
  7. data/demo/Gemfile +0 -2
  8. data/demo/Rakefile +1 -1
  9. data/gemfiles/sidekiq_5.0.gemfile +7 -0
  10. data/gemfiles/sidekiq_5.0.gemfile.lock +57 -0
  11. data/gemfiles/sidekiq_5.1.gemfile +7 -0
  12. data/gemfiles/sidekiq_5.1.gemfile.lock +57 -0
  13. data/gemfiles/sidekiq_5.2.gemfile +7 -0
  14. data/gemfiles/sidekiq_5.2.gemfile.lock +56 -0
  15. data/gemfiles/sidekiq_6.0.gemfile +7 -0
  16. data/gemfiles/sidekiq_6.0.gemfile.lock +56 -0
  17. data/gemfiles/sidekiq_6.1.gemfile +7 -0
  18. data/gemfiles/sidekiq_6.1.gemfile.lock +53 -0
  19. data/gemfiles/sidekiq_6.2.gemfile +7 -0
  20. data/gemfiles/sidekiq_6.2.gemfile.lock +53 -0
  21. data/gemfiles/sidekiq_6.3.gemfile +7 -0
  22. data/gemfiles/sidekiq_6.3.gemfile.lock +53 -0
  23. data/gemfiles/sidekiq_6.4.gemfile +7 -0
  24. data/gemfiles/sidekiq_6.4.gemfile.lock +53 -0
  25. data/gemfiles/sidekiq_master.gemfile +7 -0
  26. data/gemfiles/sidekiq_master.gemfile.lock +58 -0
  27. data/lib/sidekiq/extensions/queue.rb +2 -1
  28. data/lib/sidekiq/limit_fetch/global/monitor.rb +7 -7
  29. data/lib/sidekiq/limit_fetch/global/semaphore.rb +8 -0
  30. data/lib/sidekiq/limit_fetch/instances.rb +4 -0
  31. data/lib/sidekiq/limit_fetch/queues.rb +43 -8
  32. data/lib/sidekiq/limit_fetch.rb +19 -4
  33. data/sidekiq-limit_fetch.gemspec +11 -8
  34. data/spec/sidekiq/limit_fetch/queues_spec.rb +23 -12
  35. data/spec/sidekiq/limit_fetch_spec.rb +1 -1
  36. data/spec/spec_helper.rb +7 -7
  37. metadata +71 -21
  38. data/.travis.yml +0 -10
  39. data/LICENSE.txt +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 90670344f1d8eaa97d215118db466740393123aa
4
- data.tar.gz: 3364780aa3ff90b22d4156d7a2eb6b315ca072b9
2
+ SHA256:
3
+ metadata.gz: f4e35bb2ed507c01ab307ba39254c5d82ba6837d60a771c33e765f3a92ede831
4
+ data.tar.gz: 3883ea7ccd095c1f9f0f3ae3900d642500e14f146a74b37a9cffd48440e4e6ec
5
5
  SHA512:
6
- metadata.gz: f27825c415fa9995330e61bf78877fe20bbb1e1af4782d9e3072803092a55e170569d80cdd9f8bd0966c81c562fda120f5b0fd878b06e78532731e5490a20bfd
7
- data.tar.gz: 1d326108a6cc523131e44337c3f7e43116f7775d6f7a538b5d4a6ce63f276010a9ee379429bec18be725931ecd35d20a5f2b2eeb5bb3df5eeb86e5df406bbe95
6
+ metadata.gz: b1ae9ec40f0f303c352579478a75c7d85cf1fb77fa5f48f73bd2d44b35dd1d6e9daf1f88251108990408a1efc6077f3b250a571ff3d2806de9a72a2766d033b3
7
+ data.tar.gz: 9ace46d937a68560dc050fee75ebd4ce663f17bce4ea1be25825d568816282b8ce6059133786e8463fe48d3349baffb4c7a93e04613568367e9114672d23f314
@@ -0,0 +1,42 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ ruby: ["2.6", "2.7", "3.0", "3.1", jruby-9.3]
18
+ appraisal: ['5.0', '5.1', '5.2', '6.0', '6.1', '6.2', '6.3', '6.4']
19
+ services:
20
+ redis:
21
+ image: redis
22
+ options: >-
23
+ --health-cmd "redis-cli ping"
24
+ --health-interval 10s
25
+ --health-timeout 5s
26
+ --health-retries 5
27
+ ports:
28
+ - 6379:6379
29
+
30
+ steps:
31
+ - uses: actions/checkout@v2
32
+ - name: Set up Ruby
33
+ uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: ${{ matrix.ruby }}
36
+ bundler-cache: false
37
+ - name: Bundle for Appraisal
38
+ run: bundle
39
+ - name: Install Appraisal dependencies
40
+ run: bundle exec appraisal sidekiq-${{ matrix.appraisal }} bundle
41
+ - name: Run tests
42
+ run: bundle exec appraisal sidekiq-${{ matrix.appraisal }} bundle exec rake
data/Appraisals ADDED
@@ -0,0 +1,35 @@
1
+ appraise 'sidekiq-5.0' do
2
+ gem 'sidekiq', '~> 5.0.0'
3
+ end
4
+
5
+ appraise 'sidekiq-5.1' do
6
+ gem 'sidekiq', '~> 5.1.0'
7
+ end
8
+
9
+ appraise 'sidekiq-5.2' do
10
+ gem 'sidekiq', '~> 5.2.0'
11
+ end
12
+
13
+ appraise 'sidekiq-6.0' do
14
+ gem 'sidekiq', '~> 6.0.0'
15
+ end
16
+
17
+ appraise 'sidekiq-6.1' do
18
+ gem 'sidekiq', '~> 6.1.0'
19
+ end
20
+
21
+ appraise 'sidekiq-6.2' do
22
+ gem 'sidekiq', '~> 6.2.0'
23
+ end
24
+
25
+ appraise 'sidekiq-6.3' do
26
+ gem 'sidekiq', '~> 6.3.0'
27
+ end
28
+
29
+ appraise 'sidekiq-6.4' do
30
+ gem 'sidekiq', '~> 6.4.0'
31
+ end
32
+
33
+ appraise 'sidekiq-master' do
34
+ gem 'sidekiq', github: 'mperham/sidekiq'
35
+ end
data/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [4.1.0] - 2022-03-29
9
+
10
+ ### Changed
11
+
12
+ - #101 - Fix stuck queues bug on Redis restart from [@907th](https://github.com/907th).
13
+
14
+ ## [4.0.0] - 2022-03-26
15
+
16
+ This project was taken over by [@deanpcmad](https://github.com/deanpcmad)
17
+
18
+ ### Changed
19
+
20
+ - #120 - Migrate CI to GitHub Actions from [@petergoldstein](https://github.com/petergoldstein).
21
+ - #124 - Fixed redis v4.6.0 pipelines deprecation warning from [@iurev](https://github.com/iurev).
22
+ - #83 - Processing dynamic queues from [@alexey-yanchenko](https://github.com/alexey-yanchenko).
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Dean Perry
4
+ Copyright (c) 2013 brainopia
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
data/README.md CHANGED
@@ -1,46 +1,53 @@
1
1
  ## Description
2
2
 
3
- Sidekiq strategy to support a granular queue control –
4
- limiting, pausing, blocking, querying.
3
+ *This project has been taken over by [@deanpcmad](https://github.com/deanpcmad)*
5
4
 
6
- [![Build Status](https://secure.travis-ci.org/brainopia/sidekiq-limit_fetch.png)](http://travis-ci.org/brainopia/sidekiq-limit_fetch)
7
- [![Gem Version](https://badge.fury.io/rb/sidekiq-limit_fetch.png)](http://badge.fury.io/rb/sidekiq-limit_fetch)
8
- [![Dependency Status](https://gemnasium.com/brainopia/sidekiq-limit_fetch.png)](https://gemnasium.com/brainopia/sidekiq-limit_fetch)
9
- [![Code Climate](https://codeclimate.com/github/brainopia/sidekiq-limit_fetch.png)](https://codeclimate.com/github/brainopia/sidekiq-limit_fetch)
5
+ Sidekiq strategy to support a granular queue control – limiting, pausing, blocking, querying.
10
6
 
11
- ## Installation
7
+ [![CI](https://github.com/deanpcmad/sidekiq-limit_fetch/actions/workflows/ci.yml/badge.svg)](https://github.com/deanpcmad/sidekiq-limit_fetch/actions/workflows/ci.yml)
8
+ [![Gem Version](https://badge.fury.io/rb/sidekiq-limit_fetch.svg)](http://badge.fury.io/rb/sidekiq-limit_fetch)
9
+
10
+ ### Installation
12
11
 
13
12
  Add this line to your application's Gemfile:
14
13
 
15
- gem 'sidekiq-limit_fetch'
14
+ ```
15
+ gem 'sidekiq-limit_fetch'
16
+ ```
17
+
18
+ Then `bundle install`.
16
19
 
17
- ### Requirements
20
+ ### Limitations
18
21
 
19
22
  **Important note:** At this moment, `sidekiq-limit_fetch` is incompatible with
20
23
  - sidekiq pro's `reliable_fetch`
21
24
  - `sidekiq-rate-limiter`
22
25
  - any other plugin that rewrites fetch strategy of sidekiq.
23
26
 
24
- ## Usage
27
+ ### Usage
28
+
29
+ If you are using this with Rails, you don't need to require it as it's done automatically.
30
+
31
+ To use this Gem in other Ruby projects, just add `require 'sidekiq-limit_fetch'`.
25
32
 
26
33
  ### Limits
27
34
 
28
35
  Specify limits which you want to place on queues inside sidekiq.yml:
29
36
 
30
37
  ```yaml
31
- :limits:
32
- queue_name1: 5
33
- queue_name2: 10
38
+ :limits:
39
+ queue_name1: 5
40
+ queue_name2: 10
34
41
  ```
35
42
 
36
43
  Or set it dynamically in your code:
37
44
  ```ruby
38
- Sidekiq::Queue['queue_name1'].limit = 5
39
- Sidekiq::Queue['queue_name2'].limit = 10
45
+ Sidekiq::Queue['queue_name1'].limit = 5
46
+ Sidekiq::Queue['queue_name2'].limit = 10
40
47
  ```
41
48
 
42
- In these examples, tasks for the ```queue_name1``` will be run by at most 5
43
- workers at the same time and the ```queue_name2``` will have no more than 10
49
+ In these examples, tasks for the `queue_name1` will be run by at most 5
50
+ workers at the same time and the `queue_name2` will have no more than 10
44
51
  workers simultaneously.
45
52
 
46
53
  Ability to set limits dynamically allows you to resize worker
@@ -51,14 +58,14 @@ distribution among queues any time you want.
51
58
  If you use multiple sidekiq processes then you can specify limits per process:
52
59
 
53
60
  ```yaml
54
- :process_limits:
55
- queue_name: 2
61
+ :process_limits:
62
+ queue_name: 2
56
63
  ```
57
64
 
58
65
  Or set it in your code:
59
66
 
60
67
  ```ruby
61
- Sidekiq::Queue['queue_name'].process_limit = 2
68
+ Sidekiq::Queue['queue_name'].process_limit = 2
62
69
  ```
63
70
 
64
71
  ### Busy workers by queue
@@ -66,19 +73,19 @@ Or set it in your code:
66
73
  You can see how many workers currently handling a queue:
67
74
 
68
75
  ```ruby
69
- Sidekiq::Queue['name'].busy # number of busy workers
76
+ Sidekiq::Queue['name'].busy # number of busy workers
70
77
  ```
71
78
 
72
79
  ### Pauses
73
80
 
74
- You can also pause your queues temporarely. Upon continuing their limits
81
+ You can also pause your queues temporarily. Upon continuing their limits
75
82
  will be preserved.
76
83
 
77
84
  ```ruby
78
- Sidekiq::Queue['name'].pause # prevents workers from running tasks from this queue
79
- Sidekiq::Queue['name'].paused? # => true
80
- Sidekiq::Queue['name'].unpause # allows workers to use the queue
81
- Sidekiq::Queue['name'].pause_for_ms(1000) # will pause for a second
85
+ Sidekiq::Queue['name'].pause # prevents workers from running tasks from this queue
86
+ Sidekiq::Queue['name'].paused? # => true
87
+ Sidekiq::Queue['name'].unpause # allows workers to use the queue
88
+ Sidekiq::Queue['name'].pause_for_ms(1000) # will pause for a second
82
89
  ```
83
90
 
84
91
  ### Blocking queue mode
@@ -89,12 +96,12 @@ queue task is executing then no new task from lesser priority queues will
89
96
  be ran. Eg,
90
97
 
91
98
  ```yaml
92
- :queues:
93
- - a
94
- - b
95
- - c
96
- :blocking:
97
- - b
99
+ :queues:
100
+ - a
101
+ - b
102
+ - c
103
+ :blocking:
104
+ - b
98
105
  ```
99
106
 
100
107
  In this case when a task for `b` queue is ran no new task from `c` queue
@@ -103,9 +110,9 @@ will be started.
103
110
  You can also enable and disable blocking mode for queues on the fly:
104
111
 
105
112
  ```ruby
106
- Sidekiq::Queue['name'].block
107
- Sidekiq::Queue['name'].blocking? # => true
108
- Sidekiq::Queue['name'].unblock
113
+ Sidekiq::Queue['name'].block
114
+ Sidekiq::Queue['name'].blocking? # => true
115
+ Sidekiq::Queue['name'].unblock
109
116
  ```
110
117
 
111
118
  ### Advanced blocking queues
@@ -115,13 +122,13 @@ running only queues higher and queues from their blocking group can
115
122
  run. It will be easier to understand with an example:
116
123
 
117
124
  ```yaml
118
- :queues:
119
- - a
120
- - b
121
- - c
122
- - d
123
- :blocking:
124
- - [b, c]
125
+ :queues:
126
+ - a
127
+ - b
128
+ - c
129
+ - d
130
+ :blocking:
131
+ - [b, c]
125
132
  ```
126
133
 
127
134
  In this case tasks from `d` will be blocked when a task from queue `b` or `c` is executed.
@@ -129,7 +136,7 @@ In this case tasks from `d` will be blocked when a task from queue `b` or `c` is
129
136
  You can dynamically set exceptions for queue blocking:
130
137
 
131
138
  ```ruby
132
- Sidekiq::Queue['queue1'].block_except 'queue2'
139
+ Sidekiq::Queue['queue1'].block_except 'queue2'
133
140
  ```
134
141
 
135
142
  ### Dynamic queues
@@ -140,17 +147,11 @@ that have tasks pushed to them (usually with `Sidekiq::Client.push`)).
140
147
  To use this mode you need to specify a following line in sidekiq.yml:
141
148
 
142
149
  ```yaml
143
- :dynamic: true
150
+ :dynamic: true
144
151
  ```
145
152
 
146
153
  Dynamic queues will be ran at the lowest priority.
147
154
 
148
155
  ### Maintenance
149
156
 
150
- If you use ```flushdb```, restart the sidekiq process to re-populate the dynamic configuration.
151
-
152
- ### Thanks
153
-
154
- <a href="https://evilmartians.com/?utm_source=sidekiq-limit_fetch">
155
- <img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a>
156
-
157
+ If you use `flushdb`, restart the sidekiq process to re-populate the dynamic configuration.
data/demo/Gemfile CHANGED
@@ -1,8 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails'
4
- gem 'sinatra'
5
- gem 'celluloid'
6
4
  gem 'launchy'
7
5
  gem 'sidekiq', github: 'mperham/sidekiq'
8
6
  gem 'sidekiq-limit_fetch', path: '..'
data/demo/Rakefile CHANGED
@@ -78,7 +78,7 @@ namespace :demo do
78
78
  Rack::Server.start app: Sidekiq::Web, Port: 3000
79
79
  end
80
80
  sleep 1
81
- Launchy.open 'http://127.0.0.1:3000/workers?poll=true'
81
+ Launchy.open 'http://127.0.0.1:3000/busy?poll=true'
82
82
  end
83
83
 
84
84
  def run_sidekiq_workers(options)
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 5.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,57 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-limit_fetch (3.4.0)
5
+ redis (>= 4.6.0)
6
+ sidekiq (>= 4)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ appraisal (2.4.1)
12
+ bundler
13
+ rake
14
+ thor (>= 0.14.0)
15
+ concurrent-ruby (1.1.10)
16
+ connection_pool (2.2.5)
17
+ diff-lcs (1.5.0)
18
+ rack (2.2.3)
19
+ rack-protection (2.2.0)
20
+ rack
21
+ rake (13.0.6)
22
+ redis (4.6.0)
23
+ redis-namespace (1.8.2)
24
+ redis (>= 3.0.4)
25
+ rspec (3.11.0)
26
+ rspec-core (~> 3.11.0)
27
+ rspec-expectations (~> 3.11.0)
28
+ rspec-mocks (~> 3.11.0)
29
+ rspec-core (3.11.0)
30
+ rspec-support (~> 3.11.0)
31
+ rspec-expectations (3.11.0)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.11.0)
34
+ rspec-mocks (3.11.0)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.11.0)
37
+ rspec-support (3.11.0)
38
+ sidekiq (5.0.5)
39
+ concurrent-ruby (~> 1.0)
40
+ connection_pool (~> 2.2, >= 2.2.0)
41
+ rack-protection (>= 1.5.0)
42
+ redis (>= 3.3.4, < 5)
43
+ thor (1.2.1)
44
+
45
+ PLATFORMS
46
+ x86_64-linux
47
+
48
+ DEPENDENCIES
49
+ appraisal
50
+ rake
51
+ redis-namespace (~> 1.5, >= 1.5.2)
52
+ rspec
53
+ sidekiq (~> 5.0.0)
54
+ sidekiq-limit_fetch!
55
+
56
+ BUNDLED WITH
57
+ 2.3.6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 5.1.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,57 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-limit_fetch (3.4.0)
5
+ redis (>= 4.6.0)
6
+ sidekiq (>= 4)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ appraisal (2.4.1)
12
+ bundler
13
+ rake
14
+ thor (>= 0.14.0)
15
+ concurrent-ruby (1.1.10)
16
+ connection_pool (2.2.5)
17
+ diff-lcs (1.5.0)
18
+ rack (2.2.3)
19
+ rack-protection (2.2.0)
20
+ rack
21
+ rake (13.0.6)
22
+ redis (4.6.0)
23
+ redis-namespace (1.8.2)
24
+ redis (>= 3.0.4)
25
+ rspec (3.11.0)
26
+ rspec-core (~> 3.11.0)
27
+ rspec-expectations (~> 3.11.0)
28
+ rspec-mocks (~> 3.11.0)
29
+ rspec-core (3.11.0)
30
+ rspec-support (~> 3.11.0)
31
+ rspec-expectations (3.11.0)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.11.0)
34
+ rspec-mocks (3.11.0)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.11.0)
37
+ rspec-support (3.11.0)
38
+ sidekiq (5.1.3)
39
+ concurrent-ruby (~> 1.0)
40
+ connection_pool (~> 2.2, >= 2.2.0)
41
+ rack-protection (>= 1.5.0)
42
+ redis (>= 3.3.5, < 5)
43
+ thor (1.2.1)
44
+
45
+ PLATFORMS
46
+ x86_64-linux
47
+
48
+ DEPENDENCIES
49
+ appraisal
50
+ rake
51
+ redis-namespace (~> 1.5, >= 1.5.2)
52
+ rspec
53
+ sidekiq (~> 5.1.0)
54
+ sidekiq-limit_fetch!
55
+
56
+ BUNDLED WITH
57
+ 2.3.6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 5.2.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,56 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-limit_fetch (3.4.0)
5
+ redis (>= 4.6.0)
6
+ sidekiq (>= 4)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ appraisal (2.4.1)
12
+ bundler
13
+ rake
14
+ thor (>= 0.14.0)
15
+ connection_pool (2.2.5)
16
+ diff-lcs (1.5.0)
17
+ rack (2.0.9)
18
+ rack-protection (2.2.0)
19
+ rack
20
+ rake (13.0.6)
21
+ redis (4.6.0)
22
+ redis-namespace (1.8.2)
23
+ redis (>= 3.0.4)
24
+ rspec (3.11.0)
25
+ rspec-core (~> 3.11.0)
26
+ rspec-expectations (~> 3.11.0)
27
+ rspec-mocks (~> 3.11.0)
28
+ rspec-core (3.11.0)
29
+ rspec-support (~> 3.11.0)
30
+ rspec-expectations (3.11.0)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.11.0)
33
+ rspec-mocks (3.11.0)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.11.0)
36
+ rspec-support (3.11.0)
37
+ sidekiq (5.2.8)
38
+ connection_pool (~> 2.2, >= 2.2.2)
39
+ rack (< 2.1.0)
40
+ rack-protection (>= 1.5.0)
41
+ redis (>= 3.3.5, < 5)
42
+ thor (1.2.1)
43
+
44
+ PLATFORMS
45
+ x86_64-linux
46
+
47
+ DEPENDENCIES
48
+ appraisal
49
+ rake
50
+ redis-namespace (~> 1.5, >= 1.5.2)
51
+ rspec
52
+ sidekiq (~> 5.2.0)
53
+ sidekiq-limit_fetch!
54
+
55
+ BUNDLED WITH
56
+ 2.3.6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 6.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,56 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-limit_fetch (3.4.0)
5
+ redis (>= 4.6.0)
6
+ sidekiq (>= 4)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ appraisal (2.4.1)
12
+ bundler
13
+ rake
14
+ thor (>= 0.14.0)
15
+ connection_pool (2.2.5)
16
+ diff-lcs (1.5.0)
17
+ rack (2.2.3)
18
+ rack-protection (2.2.0)
19
+ rack
20
+ rake (13.0.6)
21
+ redis (4.6.0)
22
+ redis-namespace (1.8.2)
23
+ redis (>= 3.0.4)
24
+ rspec (3.11.0)
25
+ rspec-core (~> 3.11.0)
26
+ rspec-expectations (~> 3.11.0)
27
+ rspec-mocks (~> 3.11.0)
28
+ rspec-core (3.11.0)
29
+ rspec-support (~> 3.11.0)
30
+ rspec-expectations (3.11.0)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.11.0)
33
+ rspec-mocks (3.11.0)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.11.0)
36
+ rspec-support (3.11.0)
37
+ sidekiq (6.0.7)
38
+ connection_pool (>= 2.2.2)
39
+ rack (~> 2.0)
40
+ rack-protection (>= 2.0.0)
41
+ redis (>= 4.1.0)
42
+ thor (1.2.1)
43
+
44
+ PLATFORMS
45
+ x86_64-linux
46
+
47
+ DEPENDENCIES
48
+ appraisal
49
+ rake
50
+ redis-namespace (~> 1.5, >= 1.5.2)
51
+ rspec
52
+ sidekiq (~> 6.0.0)
53
+ sidekiq-limit_fetch!
54
+
55
+ BUNDLED WITH
56
+ 2.3.6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 6.1.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,53 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-limit_fetch (3.4.0)
5
+ redis (>= 4.6.0)
6
+ sidekiq (>= 4)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ appraisal (2.4.1)
12
+ bundler
13
+ rake
14
+ thor (>= 0.14.0)
15
+ connection_pool (2.2.5)
16
+ diff-lcs (1.5.0)
17
+ rack (2.2.3)
18
+ rake (13.0.6)
19
+ redis (4.6.0)
20
+ redis-namespace (1.8.2)
21
+ redis (>= 3.0.4)
22
+ rspec (3.11.0)
23
+ rspec-core (~> 3.11.0)
24
+ rspec-expectations (~> 3.11.0)
25
+ rspec-mocks (~> 3.11.0)
26
+ rspec-core (3.11.0)
27
+ rspec-support (~> 3.11.0)
28
+ rspec-expectations (3.11.0)
29
+ diff-lcs (>= 1.2.0, < 2.0)
30
+ rspec-support (~> 3.11.0)
31
+ rspec-mocks (3.11.0)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.11.0)
34
+ rspec-support (3.11.0)
35
+ sidekiq (6.1.3)
36
+ connection_pool (>= 2.2.2)
37
+ rack (~> 2.0)
38
+ redis (>= 4.2.0)
39
+ thor (1.2.1)
40
+
41
+ PLATFORMS
42
+ x86_64-linux
43
+
44
+ DEPENDENCIES
45
+ appraisal
46
+ rake
47
+ redis-namespace (~> 1.5, >= 1.5.2)
48
+ rspec
49
+ sidekiq (~> 6.1.0)
50
+ sidekiq-limit_fetch!
51
+
52
+ BUNDLED WITH
53
+ 2.3.6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "sidekiq", "~> 6.2.0"
6
+
7
+ gemspec path: "../"