- 💥 Minimum resque version is now 2.2 (1.22 is no longer supported) by @nevans in #261
- 💥 Minimum ruby version is now 3.0 (2.0 is no longer supported) by @nevans in #262
- Introduce siginfo-hook and SIGINFO 29 signal handling by @Overbryd in #191
- Support a dynamic sleep INTERVAL by @mdkent in #251
Requires
resque3.0+. See resque/resque#1920.
- fix typo in log message by @rilian in #193
- 🐛 Fix
Logging.reopen_logs!for ruby 3.4+ by @nevans in #257 - 🐛 Fix
--lock FILEoptions parser setup by @nevans in #265
- 📚 Update README for old redis gem by @nevans in #266
- 📚 Update CI badge in README by {@nevans} in #267
- 📚 Rearrange/improve CLI options help text by @nevans in #270
- 📚 Update resque-pool(1) manpage by @nevans in #271
- Convert to Github actions by @nevans in #203
- Adding code scanning action by @nevans in #210
- ⬆️ 💎 Add ruby 3.2 to the CI metrix by @nevans in #244
- ⬆️ 💎 Add ruby 3.3 to the CI metrix by @nevans in #245
- ✅ Test different versions of resque and redis by @nevans in #246
- Update gemspec metadata by @nevans in #247
- ⬆️ Bump actions/checkout from 3 to 4 by @dependabot[bot] in #242
- ⬆️ Bump github/codeql-action from 2 to 3 by @dependabot[bot] in #249
- ⬆️ Bump actions/checkout from 4 to 5 by @dependabot[bot] in #250
- ⬆️ Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #252
- ⬆️ Update CI matrix with modern versions by @nevans in #254
- ⬆️ Bump actions/checkout from 5 to 6 by @dependabot[bot] in #253
- ✅ Trigger CI for every PR by @nevans in #255
- ⬆️(deps): Update resque requirement from
>= 1.22, < 3 to >= 1.22, < 4by @dependabot[bot] in #256 - ✅ Cut CI matrix in half: only one OS per resque by @nevans in #260
- ✅⬆️ Add resque 3.0 to CI matrix by @nevans in #258
- 📦 Add releases.yml to assist with release notes by @nevans in #264
- ⬆️ Upgrade ronn to ronn-ng (dev dependency) by @nevans in #263
- ✅⬆️ Add ruby 4.0 to CI matrix by @nevans in #259
- 🔒 Configure Trusted Publisher by @nevans in #269
- @rilian made their first contribution in #193
- @Overbryd made their first contribution in #191
- @mdkent made their first contribution in #251
Full Changelog: https://github.com/resque/resque-pool/compare/v0.7.1...v0.8.0
Marked as compatible with rake 13, documentation fixes, and depfu updated dependencies.
- PR #183 jcoyne Rake 13 compatibility.
- replace gemnasium badge with depfu, and use depfu for automated PRs
- documentation updates: jcoyne, chaspy, budnik
The first new release in a LONG time. Over three years! Sorry to everyone who
used git forks or master (instead of a rubygems release) during that time! So,
obviously the compatibility updates are important. But we also added
--hot-swap, Resque::Pool::ConfigLoaders::Throttled, bugfixes, and big
changes to the specs/CI to make it easier to push new releases.
Compatibility:
- PR #160 brucek Rails 4 compatibility.
- PR #171 jrochkind resque 2.0.
- PRs #174, #175:
- update test deps (rspec, aruba, cucumber)
- Only test/support rubies that aren't EOL (2.3, 2.4, 2.5, 2.6).
New features:
--hot-swapfor zero-downtime code deploys. Thanks to joshuaflanagan, brasic, and ShippingEasy!- joshuaflanagan Add a throttled config
loader, to wrap other config loaders (e.g. custom DB queries). See
Resque::Pool::ConfigLoaders::Throttled.
Bugfixes:
- PR #146 kcrayon Fix edge cases when old_pid is invalid.
- PR #153 jeremy Fix occasional deadlock from
Open3.capture3. - PR #165 pjambet Cast
RESQUE_TERM_TIMEOUTto float.
And more (see the full changelog). Thanks also to contributions from: grosser, msufa, dchandekstark,
One big new feature: Custom Config Loader thanks to joshuaflanagan!
Lots of cleanup in this release. Thanks to the contributers:
- joshuaflanagan Custom config loader
- grosser
- ship less files in the gem
- remove trollop dependency
- remove -n -t -r -n -i commandline options since they were added unintentionally
- no longer hijacks shutdown for normal resque worker processes.
- PatrickTulskie Reopening log files now reopens all logs in memory (append write only; code copied from Unicorn)
- jonleighton pass worker instance to
after_preforkhook
Some more merges of long outstanding pull requests.
- EVEN BETTER
TERMsupport for Heroku than 0.4.0. ;) - DOCKER SUPPORT (don't go crazy when master pid is 1).
--spawn_delayoption in case workers respawn too quickly- Support
RUN_AT_EXIT_HOOKS. - And more.
Many thanks to the contributors! JohnBat26, Eric Chapweske, werkshy, spajus, greysteil, tjsousa, jkrall, zmillman, nevans.
Another long overdue maintenance release. Many users had been running the various release candidates in production for over 16 months. 0.4.0 was based on 0.4.0.rc2 and 0.4.0.rc3 was rolled up into 0.5.0 instead.
Better Heroku/TERM_CHILD support, better upstart process group control, ERB
in the config file, not-insane package size, and
more.
Many thanks to the contributors!
- Better
TERM_CHILDsupport (useful for Heroku or anywhere else that only sendsTERMto quit) @rayh and @jjulian - @jjulian:
- 0.3.0 accidentally packaged up 13MB of extra files! OOOPS... SORRY!
- better MacOS X compatibility
- missing LICENCE in gemspec
- @jasonrclark:
after_preforkhook manages an array of hooks, rather than one single hook - @mlanett: Parse ERB in the config file (very useful for hostname/environment switched configuration)
- @xjlu: Match the task deps in resque:work
- @darbyfrey: Fixing deprecation warnings in newer versions of resque
- @ewoodh20: Use
Rails.envif available (RAILS_ENVis deprecated) - @dlackty: example
godconfig file - @mattdbridges: fix order dependent specs
- @nevans:
- Ignore
WINCHsignal when running non-daemonized (often in the terminal) - Do not run children in the same process group (solves problems with
upstartsendingTERMto all processes at once)
- Ignore
This is mostly just a long overdue maintenance release. Many pull requests were
merged. A few non-pull-request branches were merged too. This version supports
ruby 1.9.3, 1.8.7, and even ancient 1.8.6, and all are checked by
travis-ci. It also explicitly
supports resque ~> 1.20. And (if you have gem-man installed), it now has man
pages for bin and yml config.
Many thanks to the contributers!
- @agnellvj: ruby 1.9 compatibility
- @geoffgarside: man pages!
- @imajes - bugfix: Handle when a pid no longer exists by the time you try and kill it.
- @jeremy & @jamis -
tasks require
resque/poollazily - @jhsu - bugfix: undefined variable 'e' for errors
- @gaffneyc - compatibility fix: Resque::Pool::PooledWorker as a module rather than class
- @kcrayon - bugfix: fix worker shutdown
- @alexkwolfe - added
app_namefor logging (and maybe more in the future?)
- new feature: sending
HUPto pool manager will reload the logfiles and gracefully restart all workers. - enhancement: logging now includes timestamp, process "name" (worker or manager), and PID.
- enhancement: can be used with no config file or empty config file (not all that useful, but it's better than unceromoniously dieing!)
- bugfix: pidfile will be cleaned up on startup, e.g. if old process was kill-9'd (Jason Haruska)
- bugfix: TERM/INT are no longer ignored when HUP is waiting on children
- bugfix:
resque-pool -c config.ymlcommand line option was broken - development: simple cucumber features for core functionality.
- upstream: depends on resque ~> 1.13
- new feature:
resque-poolcommand line interface- this replaces need for a special startup script.
- manages PID file, logfiles, daemonizing, etc.
resque-pool --helpfor more info and options
- updated example config, init.d script, including a chef recipe that should work at EngineYard.
- remove rubygems 1.3.6 dependency
- new feature:
RESQUE_POOL_CONFIGenvironment variable to set alt config file - upgraded to resque 1.10, removing
Resque::Workermonkeypatch
- bugfix: using (or not using) environments in config file
- new feature: split by environments in config file
- added example startup script, Rakefile, and monit config
- bugfix: worker processes not shutting down after orphaned
- first release used in production