- Removed CI testing for ruby 2.3 (EOL). Added for 2.7.
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-swap
for 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_TIMEOUT
to 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_prefork
hook
Some more merges of long outstanding pull requests.
- EVEN BETTER
TERM
support for Heroku than 0.4.0. ;) - DOCKER SUPPORT (don't go crazy when master pid is 1). (example Dockerfile soon?)
--spawn_delay
option 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_CHILD
support (useful for Heroku or anywhere else that only sendsTERM
to 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_prefork
hook 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.env
if available (RAILS_ENV
is deprecated) - @dlackty: example
god
config file - @mattdbridges: fix order dependent specs
- @nevans:
- Ignore
WINCH
signal when running non-daemonized (often in the terminal) - Do not run children in the same process group (solves problems with
upstart
sendingTERM
to 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/pool
lazily - @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_name
for logging (and maybe more in the future?)
- new feature: sending
HUP
to 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.yml
command line option was broken - development: simple cucumber features for core functionality.
- upstream: depends on resque ~> 1.13
- new feature:
resque-pool
command line interface- this replaces need for a special startup script.
- manages PID file, logfiles, daemonizing, etc.
resque-pool --help
for 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_CONFIG
environment variable to set alt config file - upgraded to resque 1.10, removing
Resque::Worker
monkeypatch
- 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