One big new feature: --hot-swap for zero-downtime code
deploys.
Thanks to joshuaflanagan,
brasic, and
ShippingEasy!
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). (example Dockerfile soon?)
--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