resque-pool 0.7.1 → 0.8.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/.github/dependabot.yml +17 -0
- data/.github/release.yml +28 -0
- data/.github/workflows/codeql-analysis.yml +74 -0
- data/.github/workflows/push_gem.yml +50 -0
- data/.github/workflows/ruby.yml +61 -0
- data/.gitignore +4 -0
- data/.travis.yml +4 -4
- data/Appraisals +41 -0
- data/Changelog.md +112 -11
- data/Gemfile +2 -0
- data/README.md +9 -4
- data/gemfiles/resque_2.2_redis_4.6.gemfile +10 -0
- data/gemfiles/resque_2.3_redis_4.7.gemfile +10 -0
- data/gemfiles/resque_2.4_redis_4.8.gemfile +10 -0
- data/gemfiles/resque_2.5_redis_5.0.gemfile +10 -0
- data/gemfiles/resque_2.6_redis_5.2.gemfile +10 -0
- data/gemfiles/resque_2.7_redis_5.4.gemfile +10 -0
- data/gemfiles/resque_3.0_redis_5.4.gemfile +10 -0
- data/lib/resque/pool/cli.rb +28 -12
- data/lib/resque/pool/logging.rb +4 -19
- data/lib/resque/pool/version.rb +1 -1
- data/lib/resque/pool.rb +29 -4
- data/man/resque-pool.1 +81 -69
- data/man/resque-pool.1.ronn +66 -21
- data/man/resque-pool.yml.5 +4 -19
- data/man/resque-pool.yml.5.ronn +3 -2
- data/resque-pool.gemspec +13 -12
- metadata +44 -41
- data/Gemfile.lock +0 -101
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7abbf86b2c78776b8e6040c2b151ba2a0b374055f195d0a46e5a6d1200833ea5
|
|
4
|
+
data.tar.gz: 4b90fd368d6f450fd043f5a43f115c27949ed9ef491603560e2e565bd81ff2b4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2984b46956f151a95aff569b5ecc1bbcdf34562e1b612b072adb042e75b9440eb1cf8d63121d910ff42c82a4f438dd053d342a440313833ae17382758457e2b4
|
|
7
|
+
data.tar.gz: a4d75d293ba58fcf1d109733fb346f6799327b4c5d9a7d3fc83f0b95d27f06c7da366b579b37f6c6f94cff7d9566b321a5b854b2e1a46079e57b10b69d720862
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
updates:
|
|
4
|
+
- package-ecosystem: "github-actions"
|
|
5
|
+
directory: "/"
|
|
6
|
+
schedule:
|
|
7
|
+
interval: "weekly"
|
|
8
|
+
|
|
9
|
+
- package-ecosystem: "bundler"
|
|
10
|
+
directory: "/"
|
|
11
|
+
schedule:
|
|
12
|
+
interval: "daily"
|
|
13
|
+
allow:
|
|
14
|
+
- dependency-type: "all" # both direct and indirect updates
|
|
15
|
+
commit-message:
|
|
16
|
+
prefix: "⬆️"
|
|
17
|
+
include: "scope"
|
data/.github/release.yml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
changelog:
|
|
2
|
+
exclude:
|
|
3
|
+
labels:
|
|
4
|
+
- ignore-for-release
|
|
5
|
+
categories:
|
|
6
|
+
- title: Breaking Changes
|
|
7
|
+
labels: ["breaking-change"]
|
|
8
|
+
- title: Added
|
|
9
|
+
labels: ["enhancement"]
|
|
10
|
+
- title: Deprecated
|
|
11
|
+
labels: ["deprecation"]
|
|
12
|
+
- title: Fixed
|
|
13
|
+
labels: ["bug"]
|
|
14
|
+
- title: Documentation
|
|
15
|
+
labels: ["documentation"]
|
|
16
|
+
- title: Other Changes
|
|
17
|
+
labels: ["*"]
|
|
18
|
+
exclude:
|
|
19
|
+
labels:
|
|
20
|
+
- "tests-only"
|
|
21
|
+
- "dependencies"
|
|
22
|
+
- "workflows"
|
|
23
|
+
- "github_actions"
|
|
24
|
+
authors:
|
|
25
|
+
- "dependabot"
|
|
26
|
+
- "depfu"
|
|
27
|
+
- title: Miscellaneous
|
|
28
|
+
labels: ["*"]
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
+
# to commit it to your repository.
|
|
3
|
+
#
|
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
+
# or to provide custom queries or build logic.
|
|
6
|
+
#
|
|
7
|
+
# ******** NOTE ********
|
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
+
# supported CodeQL languages.
|
|
11
|
+
#
|
|
12
|
+
name: "CodeQL"
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches: [ "main" ]
|
|
17
|
+
pull_request:
|
|
18
|
+
# The branches below must be a subset of the branches above
|
|
19
|
+
branches: [ "main" ]
|
|
20
|
+
schedule:
|
|
21
|
+
- cron: '41 17 * * 4'
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
analyze:
|
|
25
|
+
name: Analyze
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
actions: read
|
|
29
|
+
contents: read
|
|
30
|
+
security-events: write
|
|
31
|
+
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
language: [ 'ruby' ]
|
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
37
|
+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout repository
|
|
41
|
+
uses: actions/checkout@v6
|
|
42
|
+
|
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
|
44
|
+
- name: Initialize CodeQL
|
|
45
|
+
uses: github/codeql-action/init@v4
|
|
46
|
+
with:
|
|
47
|
+
languages: ${{ matrix.language }}
|
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
51
|
+
|
|
52
|
+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
|
53
|
+
# queries: security-extended,security-and-quality
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
57
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
58
|
+
- name: Autobuild
|
|
59
|
+
uses: github/codeql-action/autobuild@v4
|
|
60
|
+
|
|
61
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
62
|
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
|
63
|
+
|
|
64
|
+
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
|
65
|
+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
|
66
|
+
|
|
67
|
+
# - run: |
|
|
68
|
+
# echo "Run, Build Application using script"
|
|
69
|
+
# ./location_of_script_within_repo/buildscript.sh
|
|
70
|
+
|
|
71
|
+
- name: Perform CodeQL Analysis
|
|
72
|
+
uses: github/codeql-action/analyze@v4
|
|
73
|
+
with:
|
|
74
|
+
category: "/language:${{matrix.language}}"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Push Gem
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
push:
|
|
13
|
+
if: github.repository == 'resque/resque-pool'
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
environment:
|
|
17
|
+
name: rubygems.org
|
|
18
|
+
url: https://rubygems.org/gems/resque-pool
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: write
|
|
22
|
+
id-token: write
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
# Set up
|
|
26
|
+
- name: Harden Runner
|
|
27
|
+
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
|
|
28
|
+
with:
|
|
29
|
+
egress-policy: audit
|
|
30
|
+
|
|
31
|
+
- uses: actions/checkout@v6
|
|
32
|
+
|
|
33
|
+
- name: Set up Ruby
|
|
34
|
+
uses: ruby/setup-ruby@v1
|
|
35
|
+
with:
|
|
36
|
+
bundler-cache: true
|
|
37
|
+
ruby-version: ruby
|
|
38
|
+
rubygems: latest
|
|
39
|
+
bundler: latest
|
|
40
|
+
|
|
41
|
+
# Release
|
|
42
|
+
- name: Publish to RubyGems
|
|
43
|
+
uses: rubygems/release-gem@v1
|
|
44
|
+
|
|
45
|
+
- name: Create GitHub release
|
|
46
|
+
run: |
|
|
47
|
+
tag_name="$(git describe --tags --abbrev=0)"
|
|
48
|
+
gh release create "${tag_name}" --verify-tag --draft --generate-notes
|
|
49
|
+
env:
|
|
50
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
pull_request:
|
|
6
|
+
push:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
name: >-
|
|
12
|
+
ruby ${{ matrix.ruby }}, resque ${{ matrix.resque }}, redis ${{ matrix.redis }}, ${{ matrix.os }}
|
|
13
|
+
runs-on: ${{ matrix.os }}
|
|
14
|
+
timeout-minutes: 10
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
os:
|
|
19
|
+
- ubuntu-24.04
|
|
20
|
+
ruby:
|
|
21
|
+
- "3.0"
|
|
22
|
+
- "3.1"
|
|
23
|
+
- "3.2"
|
|
24
|
+
- "3.3"
|
|
25
|
+
- "3.4"
|
|
26
|
+
- "4.0"
|
|
27
|
+
resque:
|
|
28
|
+
- "2.2"
|
|
29
|
+
- "2.3"
|
|
30
|
+
- "2.4"
|
|
31
|
+
- "2.5"
|
|
32
|
+
- "2.6"
|
|
33
|
+
- "2.7"
|
|
34
|
+
- "3.0"
|
|
35
|
+
|
|
36
|
+
include:
|
|
37
|
+
- { resque: "2.2", redis: "4.6" }
|
|
38
|
+
- { resque: "2.3", redis: "4.7" }
|
|
39
|
+
- { resque: "2.4", redis: "4.8" }
|
|
40
|
+
- { resque: "2.5", redis: "5.0" }
|
|
41
|
+
- { resque: "2.6", redis: "5.2" }
|
|
42
|
+
- { resque: "2.7", redis: "5.4" }
|
|
43
|
+
- { resque: "3.0", redis: "5.4" }
|
|
44
|
+
|
|
45
|
+
services:
|
|
46
|
+
redis:
|
|
47
|
+
image: redis
|
|
48
|
+
|
|
49
|
+
env:
|
|
50
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/resque_${{ matrix.resque }}_redis_${{ matrix.redis }}.gemfile
|
|
51
|
+
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v6
|
|
54
|
+
- name: Set up Ruby
|
|
55
|
+
uses: ruby/setup-ruby@v1
|
|
56
|
+
with:
|
|
57
|
+
ruby-version: ${{ matrix.ruby }}
|
|
58
|
+
bundler-cache: true
|
|
59
|
+
- run: sudo apt-get install redis-server
|
|
60
|
+
- name: Run specs
|
|
61
|
+
run: bundle exec rake
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Appraisals
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
appraise "resque-2.2-redis-4.6" do
|
|
2
|
+
gem "resque", "2.2.1" # 2022-03-27
|
|
3
|
+
gem "redis-namespace", "1.8.2" # 2022-03-07
|
|
4
|
+
gem "redis", "4.6.0" # 2024-02-02
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
appraise "resque-2.3-redis-4.7" do
|
|
8
|
+
gem "resque", "2.3.0" # 2022-08-22
|
|
9
|
+
gem "redis-namespace", "1.9.0" # 2022-08-13
|
|
10
|
+
gem "redis", "4.7.1" # 2022-07-01
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
appraise "resque-2.4-redis-4.8" do
|
|
14
|
+
gem "resque", "2.4.0" # 2022-09-06
|
|
15
|
+
gem "redis-namespace", "1.9.0" # 2022-08-13
|
|
16
|
+
gem "redis", "4.8.1" # 2023-02-10
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
appraise "resque-2.5-redis-5.0" do
|
|
20
|
+
gem "resque", "2.5.0" # 2023-03-01
|
|
21
|
+
gem "redis-namespace", "1.10.0" # 2022-12-22
|
|
22
|
+
gem "redis", "5.0.8" # 2023-08-23
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
appraise "resque-2.6-redis-5.2" do
|
|
26
|
+
gem "resque", "2.6.0" # 2023-08-19
|
|
27
|
+
gem "redis-namespace", "1.11.0" # 2023-06-08
|
|
28
|
+
gem "redis", "5.2.0" # 2024-04-15
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
appraise "resque-2.7-redis-5.4" do
|
|
32
|
+
gem "resque", "2.7.0" # 2024-12-30
|
|
33
|
+
gem "redis-namespace", "1.11.0" # 2023-06-08
|
|
34
|
+
gem "redis", "5.4.1" # 2025-07-17
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
appraise "resque-3.0-redis-5.4" do
|
|
38
|
+
gem "resque", "3.0.0" # 2026-01-12
|
|
39
|
+
gem "redis-namespace", "1.11.0" # 2023-06-08
|
|
40
|
+
gem "redis", "5.4.1" # 2025-07-17
|
|
41
|
+
end
|
data/Changelog.md
CHANGED
|
@@ -1,13 +1,115 @@
|
|
|
1
|
-
##
|
|
2
|
-
[full changelog](https://github.com/nevans/resque-pool/compare/v0.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
## _unreleased_
|
|
2
|
+
[full changelog](https://github.com/nevans/resque-pool/compare/v0.8.0...master).
|
|
3
|
+
|
|
4
|
+
## 0.8.0 (2020-01-08)
|
|
5
|
+
[full changelog](https://github.com/nevans/resque-pool/compare/v0.7.1...v0.8.0).
|
|
6
|
+
|
|
7
|
+
## What's Changed
|
|
8
|
+
|
|
9
|
+
### Breaking Changes
|
|
10
|
+
* **💥 Minimum resque version is now 2.2** _(1.22 is no longer supported)_ by [@nevans] in https://github.com/resque/resque-pool/pull/261
|
|
11
|
+
* **💥 Minimum ruby version is now 3.0** _(2.0 is no longer supported)_ by [@nevans] in https://github.com/resque/resque-pool/pull/262
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
* Introduce siginfo-hook and SIGINFO 29 signal handling by [@Overbryd] in https://github.com/resque/resque-pool/pull/191
|
|
15
|
+
* Support a dynamic sleep INTERVAL by [@mdkent] in https://github.com/resque/resque-pool/pull/251
|
|
16
|
+
Requires `resque` 3.0+. See https://github.com/resque/resque/pull/1920.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
* fix typo in log message by [@rilian] in https://github.com/resque/resque-pool/pull/193
|
|
20
|
+
* 🐛 Fix `Logging.reopen_logs!` for ruby 3.4+ by [@nevans] in https://github.com/resque/resque-pool/pull/257
|
|
21
|
+
* 🐛 Fix `--lock FILE` options parser setup by [@nevans] in https://github.com/resque/resque-pool/pull/265
|
|
22
|
+
|
|
23
|
+
### Documentation
|
|
24
|
+
* 📚 Update README for old redis gem by [@nevans] in https://github.com/resque/resque-pool/pull/266
|
|
25
|
+
* 📚 Update CI badge in README by {@nevans} in https://github.com/resque/resque-pool/pull/267
|
|
26
|
+
* 📚 Rearrange/improve CLI options help text by [@nevans] in https://github.com/resque/resque-pool/pull/270
|
|
27
|
+
* 📚 Update resque-pool(1) manpage by [@nevans] in https://github.com/resque/resque-pool/pull/271
|
|
28
|
+
|
|
29
|
+
### Miscellaneous
|
|
30
|
+
* Convert to Github actions by [@nevans] in https://github.com/resque/resque-pool/pull/203
|
|
31
|
+
* Adding code scanning action by [@nevans] in https://github.com/resque/resque-pool/pull/210
|
|
32
|
+
* ⬆️ 💎 Add ruby 3.2 to the CI metrix by [@nevans] in https://github.com/resque/resque-pool/pull/244
|
|
33
|
+
* ⬆️ 💎 Add ruby 3.3 to the CI metrix by [@nevans] in https://github.com/resque/resque-pool/pull/245
|
|
34
|
+
* ✅ Test different versions of resque and redis by [@nevans] in https://github.com/resque/resque-pool/pull/246
|
|
35
|
+
* Update gemspec metadata by @nevans in https://github.com/resque/resque-pool/pull/247
|
|
36
|
+
* ⬆️ Bump actions/checkout from 3 to 4 by @dependabot[bot] in https://github.com/resque/resque-pool/pull/242
|
|
37
|
+
* ⬆️ Bump github/codeql-action from 2 to 3 by @dependabot[bot] in https://github.com/resque/resque-pool/pull/249
|
|
38
|
+
* ⬆️ Bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/resque/resque-pool/pull/250
|
|
39
|
+
* ⬆️ Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/resque/resque-pool/pull/252
|
|
40
|
+
* ⬆️ Update CI matrix with modern versions by [@nevans] in https://github.com/resque/resque-pool/pull/254
|
|
41
|
+
* ⬆️ Bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/resque/resque-pool/pull/253
|
|
42
|
+
* ✅ Trigger CI for every PR by [@nevans] in https://github.com/resque/resque-pool/pull/255
|
|
43
|
+
* ⬆️(deps): Update resque requirement from `>= 1.22, < 3 to >= 1.22, < 4` by @dependabot[bot] in https://github.com/resque/resque-pool/pull/256
|
|
44
|
+
* ✅ Cut CI matrix in half: only one OS per resque by [@nevans] in https://github.com/resque/resque-pool/pull/260
|
|
45
|
+
* ✅⬆️ Add resque 3.0 to CI matrix by [@nevans] in https://github.com/resque/resque-pool/pull/258
|
|
46
|
+
* 📦 Add releases.yml to assist with release notes by [@nevans] in https://github.com/resque/resque-pool/pull/264
|
|
47
|
+
* ⬆️ Upgrade ronn to ronn-ng (dev dependency) by [@nevans] in https://github.com/resque/resque-pool/pull/263
|
|
48
|
+
* ✅⬆️ Add ruby 4.0 to CI matrix by [@nevans] in https://github.com/resque/resque-pool/pull/259
|
|
49
|
+
* 🔒 Configure Trusted Publisher by [@nevans] in https://github.com/resque/resque-pool/pull/269
|
|
50
|
+
|
|
51
|
+
## New Contributors
|
|
52
|
+
* [@rilian] made their first contribution in https://github.com/resque/resque-pool/pull/193
|
|
53
|
+
* [@Overbryd] made their first contribution in https://github.com/resque/resque-pool/pull/191
|
|
54
|
+
* [@mdkent] made their first contribution in https://github.com/resque/resque-pool/pull/251
|
|
55
|
+
|
|
56
|
+
[@Overbryd]: https://github.com/Overbryd
|
|
57
|
+
[@mdkent]: https://github.com/mdkent
|
|
58
|
+
[@nevans]: https://github.com/nevans
|
|
59
|
+
[@rilian]: https://github.com/rilian
|
|
60
|
+
|
|
61
|
+
**Full Changelog**: https://github.com/resque/resque-pool/compare/v0.7.1...v0.8.0
|
|
62
|
+
|
|
63
|
+
## 0.7.1 (2020-01-08)
|
|
64
|
+
[full changelog](https://github.com/nevans/resque-pool/compare/v0.7.0...v0.7.1).
|
|
65
|
+
|
|
66
|
+
Marked as compatible with rake 13, documentation fixes, and depfu updated
|
|
67
|
+
dependencies.
|
|
68
|
+
|
|
69
|
+
* PR #183 [jcoyne](https://github.com/jcoyne) Rake 13 compatibility.
|
|
70
|
+
* replace gemnasium badge with depfu, and use depfu for automated PRs
|
|
71
|
+
* documentation updates: [jcoyne](https://github.com/jcoyne),
|
|
72
|
+
[chaspy](https://github.com/chaspy), [budnik](https://github.com/budnik)
|
|
73
|
+
|
|
74
|
+
## 0.7.0 (2019-03-08)
|
|
75
|
+
[full changelog](https://github.com/nevans/resque-pool/compare/v0.6.0...v0.7.0).
|
|
76
|
+
|
|
77
|
+
The first new release in a _LONG_ time. Over three years! Sorry to everyone who
|
|
78
|
+
used git forks or master (instead of a rubygems release) during that time! So,
|
|
79
|
+
obviously the compatibility updates are important. But we also added
|
|
80
|
+
`--hot-swap`, `Resque::Pool::ConfigLoaders::Throttled`, bugfixes, and _big_
|
|
81
|
+
changes to the specs/CI to make it easier to push new releases.
|
|
82
|
+
|
|
83
|
+
Compatibility:
|
|
84
|
+
* PR #160 [brucek](https://github.com/brucek) Rails 4 compatibility.
|
|
85
|
+
* PR #171 [jrochkind](https::/github.com/jrochkind) resque 2.0.
|
|
86
|
+
* PRs #174, #175:
|
|
87
|
+
* update test deps (rspec, aruba, cucumber)
|
|
88
|
+
* Only test/support rubies that aren't EOL (2.3, 2.4, 2.5, 2.6).
|
|
89
|
+
|
|
90
|
+
New features:
|
|
91
|
+
* `--hot-swap` for [zero-downtime code
|
|
92
|
+
deploys](https://github.com/nevans/resque-pool#zero-downtime-code-deploys).
|
|
93
|
+
Thanks to [joshuaflanagan](https://github.com/joshuaflanagan),
|
|
94
|
+
[brasic](https://github.com/brasic), and
|
|
95
|
+
[ShippingEasy](https://github.com/ShippingEasy)!
|
|
96
|
+
* [joshuaflanagan](https://github.com/joshuaflanagan) Add a throttled config
|
|
97
|
+
loader, to wrap other config loaders (e.g. custom DB queries). See
|
|
98
|
+
`Resque::Pool::ConfigLoaders::Throttled`.
|
|
99
|
+
|
|
100
|
+
Bugfixes:
|
|
101
|
+
* PR #146 [kcrayon](https://github.com/kcrayon) Fix edge cases when old_pid is
|
|
102
|
+
invalid.
|
|
103
|
+
* PR #153 [jeremy](https://github.com/jeremy) Fix occasional deadlock from
|
|
104
|
+
`Open3.capture3`.
|
|
105
|
+
* PR #165 [pjambet](https://github.com/pjambet) Cast `RESQUE_TERM_TIMEOUT`
|
|
106
|
+
to float.
|
|
107
|
+
|
|
108
|
+
And more (see the full changelog). Thanks also to contributions from:
|
|
109
|
+
[grosser](https://github.com/grosser), [msufa](https://github.com/msufa),
|
|
110
|
+
[dchandekstark](https://github.com/dchandekstark),
|
|
111
|
+
|
|
112
|
+
## 0.6.0 (2015-10-14)
|
|
11
113
|
[full changelog](https://github.com/nevans/resque-pool/compare/v0.5.0...v0.6.0).
|
|
12
114
|
|
|
13
115
|
One big new feature: [Custom Config
|
|
@@ -33,7 +135,6 @@ Some more merges of long outstanding pull requests.
|
|
|
33
135
|
|
|
34
136
|
* _EVEN BETTER_ `TERM` support for Heroku than 0.4.0. ;)
|
|
35
137
|
* _DOCKER SUPPORT_ (don't go crazy when master pid is 1).
|
|
36
|
-
_(example Dockerfile soon?)_
|
|
37
138
|
* `--spawn_delay` option in case workers respawn too quickly
|
|
38
139
|
* Support `RUN_AT_EXIT_HOOKS`.
|
|
39
140
|
* And [more](https://github.com/nevans/resque-pool/compare/v0.4.0...v0.5.0).
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
Resque Pool
|
|
2
2
|
===========
|
|
3
3
|
|
|
4
|
-
[
|
|
4
|
+
[](https://github.com/resque/resque-pool/actions/workflows/ruby.yml)
|
|
6
5
|

|
|
7
6
|
|
|
8
7
|
Resque pool is a daemon for managing a pool of
|
|
@@ -77,8 +76,11 @@ task "resque:pool:setup" do
|
|
|
77
76
|
end
|
|
78
77
|
```
|
|
79
78
|
|
|
79
|
+
### Old versions of the redis gem
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
Very old versions of the redis gem (prior to v3.1.0, released 2014-06-06), did
|
|
82
|
+
not automatically disconnect and reconnect after forking. To safely use those
|
|
83
|
+
old versions of the redis gem, add the following to lib/rake/resque.rake:
|
|
82
84
|
|
|
83
85
|
```ruby
|
|
84
86
|
task "resque:pool:setup" do
|
|
@@ -88,6 +90,9 @@ task "resque:pool:setup" do
|
|
|
88
90
|
end
|
|
89
91
|
```
|
|
90
92
|
|
|
93
|
+
Note that the above lines will not work with the redis gem, since v5.0. But it
|
|
94
|
+
isn't needed, either!
|
|
95
|
+
|
|
91
96
|
### Start the pool manager
|
|
92
97
|
|
|
93
98
|
Then you can start the queues via:
|
|
@@ -176,7 +181,7 @@ end
|
|
|
176
181
|
In order to query ActiveRecord, be sure establish the database connection:
|
|
177
182
|
|
|
178
183
|
```ruby
|
|
179
|
-
task "resque:pool:setup" do
|
|
184
|
+
task "resque:pool:setup" do
|
|
180
185
|
Resque::Pool.config_loader = lambda do |env|
|
|
181
186
|
ActiveRecord::Base.establish_connection
|
|
182
187
|
JobQueue.pluck(:name, :workers).to_h
|
data/lib/resque/pool/cli.rb
CHANGED
|
@@ -32,11 +32,22 @@ module Resque
|
|
|
32
32
|
|
|
33
33
|
Usage:
|
|
34
34
|
resque-pool [options]
|
|
35
|
-
|
|
36
|
-
where [options] are:
|
|
37
35
|
EOS
|
|
36
|
+
|
|
37
|
+
opt.separator ""
|
|
38
|
+
opt.separator "Basic Options:"
|
|
38
39
|
opt.on('-c', '--config PATH', "Alternate path to config file") { |c| opts[:config] = c }
|
|
39
|
-
opt.on('-a', '--appname NAME', "Alternate appname") { |c| opts[:appname] = c }
|
|
40
|
+
opt.on('-a', '--appname NAME', "Alternate appname (default is directory name)") { |c| opts[:appname] = c }
|
|
41
|
+
opt.on("-E", '--environment ENVIRONMENT', "Set RAILS_ENV/RACK_ENV/RESQUE_ENV") { |c| opts[:environment] = c }
|
|
42
|
+
|
|
43
|
+
opt.separator ""
|
|
44
|
+
opt.separator "Logging options:"
|
|
45
|
+
opt.on('-o', '--stdout FILE', "Redirect stdout to logfile") { |c| opts[:stdout] = c }
|
|
46
|
+
opt.on('-e', '--stderr FILE', "Redirect stderr to logfile") { |c| opts[:stderr] = c }
|
|
47
|
+
opt.on('--nosync', "Don't sync logfiles on every write") { opts[:nosync] = true }
|
|
48
|
+
|
|
49
|
+
opt.separator ""
|
|
50
|
+
opt.separator "Daemon options:"
|
|
40
51
|
opt.on("-d", '--daemon', "Run as a background daemon") {
|
|
41
52
|
opts[:daemon] = true
|
|
42
53
|
opts[:stdout] ||= "log/resque-pool.stdout.log"
|
|
@@ -44,9 +55,6 @@ module Resque
|
|
|
44
55
|
opts[:pidfile] ||= "tmp/pids/resque-pool.pid" unless opts[:no_pidfile]
|
|
45
56
|
}
|
|
46
57
|
opt.on("-k", '--kill-others', "Shutdown any other Resque Pools on startup") { opts[:killothers] = true }
|
|
47
|
-
opt.on('-o', '--stdout FILE', "Redirect stdout to logfile") { |c| opts[:stdout] = c }
|
|
48
|
-
opt.on('-e', '--stderr FILE', "Redirect stderr to logfile") { |c| opts[:stderr] = c }
|
|
49
|
-
opt.on('--nosync', "Don't sync logfiles on every write") { opts[:nosync] = true }
|
|
50
58
|
opt.on("-p", '--pidfile FILE', "PID file location") { |c|
|
|
51
59
|
opts[:pidfile] = c
|
|
52
60
|
opts[:no_pidfile] = false
|
|
@@ -55,20 +63,28 @@ module Resque
|
|
|
55
63
|
opts[:pidfile] = nil
|
|
56
64
|
opts[:no_pidfile] = true
|
|
57
65
|
}
|
|
58
|
-
opt.on('-l', '--lock FILE' "Open a shared lock on a file") {
|
|
66
|
+
opt.on('-l', '--lock FILE', "Open a shared lock on a file") {|c| opts[:lock_file] = c }
|
|
59
67
|
opt.on("-H", "--hot-swap", "Set appropriate defaults to hot-swap a new pool for a running pool") {|c|
|
|
60
68
|
opts[:pidfile] = nil
|
|
61
69
|
opts[:no_pidfile] = true
|
|
62
70
|
opts[:lock_file] ||= "tmp/resque-pool.lock"
|
|
63
71
|
opts[:killothers] = true
|
|
64
72
|
}
|
|
65
|
-
opt.on(
|
|
66
|
-
|
|
73
|
+
opt.on('--single-process-group', "Workers remain in the same process group as the master") { opts[:single_process_group] = true }
|
|
74
|
+
|
|
75
|
+
opt.separator ""
|
|
76
|
+
opt.separator "Signal handling options:"
|
|
67
77
|
opt.on('--term-graceful-wait', "On TERM signal, wait for workers to shut down gracefully") { opts[:term_graceful_wait] = true }
|
|
68
78
|
opt.on('--term-graceful', "On TERM signal, shut down workers gracefully") { opts[:term_graceful] = true }
|
|
69
79
|
opt.on('--term-immediate', "On TERM signal, shut down workers immediately (default)") { opts[:term_immediate] = true }
|
|
70
|
-
|
|
71
|
-
opt.
|
|
80
|
+
|
|
81
|
+
opt.separator ""
|
|
82
|
+
opt.separator "Worker options:"
|
|
83
|
+
opt.on("-s", '--spawn-delay MS', Integer, "Delay in milliseconds between spawning missing workers") { |c| opts[:spawn_delay] = c }
|
|
84
|
+
|
|
85
|
+
opt.separator ""
|
|
86
|
+
opt.separator "Other options:"
|
|
87
|
+
opt.on("-h", "--help", "Show this help text.") { puts opt; exit }
|
|
72
88
|
opt.on("-v", "--version", "Show Version"){ puts "resque-pool #{VERSION} (c) nicholas a. evans"; exit}
|
|
73
89
|
end
|
|
74
90
|
parser.parse!(argv || parser.default_argv)
|
|
@@ -150,7 +166,7 @@ module Resque
|
|
|
150
166
|
elsif opts[:term_graceful]
|
|
151
167
|
Resque::Pool.term_behavior = "graceful_worker_shutdown"
|
|
152
168
|
elsif ENV["TERM_CHILD"]
|
|
153
|
-
log "TERM_CHILD enabled, so will
|
|
169
|
+
log "TERM_CHILD enabled, so will use 'term-graceful-and-wait' behaviour"
|
|
154
170
|
Resque::Pool.term_behavior = "graceful_worker_shutdown_and_wait"
|
|
155
171
|
end
|
|
156
172
|
if ENV.include?("DYNO") && !ENV["TERM_CHILD"]
|