- Changed failures retry process to requeue. (@KensoDev #703)
- don't run
before_fork
hook if Resque can't fork (@kjwierenga, @tarcieri, #672, #697) - don't run
after_fork
hook if Resque can't fork (@kjwierenga, @tarcieri, #672, #697) - retry connecting to redis up to 3 times (@trevorturk, #693)
- pass exceptions raised by the worker into the Failure backend (@trevorturk, #693)
- unregister signal handlers in child process when ENV["TERM_CHILD"] is set (@dylanasmith, #621)
- new signal handling for TERM. See http://hone.heroku.com/resque/2012/08/21/resque-signals.html. (@wuputah, @yaaule, #638)
- supports calling perform hooks when using Resque.inline (@jonhyman, #506)
- Add a flag to make sure failure hooks are only ran once (jakemack, #546)
- Support updated MultiJSON API (@twinturbo)
- Fix worker logging in monit example config (@twinturbo)
- loosen dependency of redis-namespace to 1.x, support for redis-rb 3.0.x
- change '%' to '$' in the 'stop program' command for monit
- UTF8 sanitize exception messages when there's a failure (@brianmario, #507)
- don't share a redis connection between parent and child (@jsanders, #588)
- Fixed demos for ruby 1.9 (@BMorearty, #445)
- Fixed
#requeue
tests (@hone, #500) - Web UI: optional trailing slashes of URLs (@elisehuard, #449)
- Allow * to appear anywhere in queue list (@tapajos, #405, #407)
- Wait for child with specific PID (@jacobkg)
- #decode raise takes a string when re-raising as a different exception class (Trevor Hart)
- Use Sinatra's
pubilc_folder
if it exists (@defunkt, #420, #421) - Assign the job's worker before calling
before_fork
(@quirkey) - Fix Resque::Helpers#constantize to work correctly on 1.9.2 (@rtlong)
- Added before & after hooks for dequeue (@humancopy, #398)
- daemonize support using
ENV["BACKGROUND"]
(@chrisleishman) - requeue and remove failed jobs by queue name (@evanwhalen)
-r
flag for resque-web for redis connection (@gjastrab)- Added
Resque.enqueue_to
: allows you to specif the queue and still run hooks (@dan-g) - Web UI: Set the default encoding to UTF-8 (@elubow)
- fix finding worker pids on JRuby (John Andrews + Andrew Grieser)
- Added distributed redis support (@stipple)
- Added better failure hooks (@raykrueger)
- Added before & after dequeue hooks (@humancopy)
- Added Airbrake (formerly Hoptoad) support.
- Web UI: Added retry all button to failed jobs page
- Web UI: Show focus outline
- Bugfix: Use Rails 3 eager loading for resque:preload
- Added support for Travis CI
- Bugfix: preload only happens in production Rails environment
- Bugfix: preload task depends on setup
- Bugfix: Fix preloading on Rails 3.x.
- Fix RAILS_ROOT deprecation warning
- Bugfix: Use RAILS_ROOT in preload task
- Added before_enqueue hook.
- Resque workers now preload files under app/ in Rails
- Switch to MultiJSON
- Bugfix: Finding worker pids on Solaris
- Web UI: Fix NaN days ago for worker screens
- Web UI: Add Cache-Control header to prevent proxy caching
- Web UI: Update Resque.redis_id so it can be used in a distributed ring.
- Reverted
exit
change. Back toexit!
.
- Workers exit with
exit
instead ofexit!
. This means you can now useat_exit
hooks inside workers. - More monit typo fixes.
- Fixed bug in Hoptoad backend.
- Web UI: Wrap preformatted arguments.
- Bugfix: Resque::Failure::Hoptoad.configure works again
- Bugfix: Loading rake tasks
- Optional Hoptoad backend extracted into hoptoad_notifier. Install the gem to use it.
- Added
Worker#paused?
method - Bugfix: Properly reseed random number generator after forking.
- Bugfix: Resque.redis=()
- Bugfix: Monit example stdout/stderr redirection
- Bugfix: Removing single failure now works with multiple failure backends
- Web: 'Remove Queue' now requires confirmation
- Web: Favicon!
- Web Bugfix: Dates display in Safari
- Web Bugfix: Dates display timezone
- Web Bugfix: Race condition querying working workers
- Web Bugfix: Fix polling /workers/all in resque-web
- Fallback to Redis.connect. Makes ENV variables and whatnot work.
- Fixed Sinatra 1.2 compatibility
- Sleep interval can now be a float
- Added Resque.inline to allow in-process performing of jobs (for testing)
- Fixed tests for Ruby 1.9.2
- Added Resque.validate(klass) to validate a Job
- Decode errors are no longer ignored to help debugging
- Web: Sinatra 1.2 compatibility
- Fixed after_enqueue hook to actually run in
Resque.enqueue
- Fixed very_verbose timestamps to use 24 hour time (AM/PM wasn't included)
- Fixed monit example
- Fixed Worker#pid
- Depend on redis-namespace >= 0.10
- README tweaks
- Use thread_safe option when setting redis url
- Bugfix: worker pruning
- Added pidfile writing from
rake resque:work
- Added Worker#pid method
- Added configurable location for
rake install
- Bugfix: Errors in failure backend are rescue'd
- Bugfix: Non-working workers no longer counted in "working" count
- Bugfix: Don't think resque-web is a worker
- Web UI: Group /workers page by hostnames
- Support redis:// string format in
Resque.redis=
- Using new cross-platform JSON gem.
- Added
after_enqueue
plugin hook. - Added
shutdown?
method which can be overridden. - Added support for the "leftright" gem when running tests.
- Grammarfix: In the README
- Bugfix: before_fork should get passed the job
- Depend on redis-namespace 0.8.0
- Depend on json_pure instead of json (for JRuby compat)
- Bugfix: rails_env display in stats view
- Bugfix: Worker.all should never return nil
- monit example: Fixed Syntax Error and adding environment to the rake task
- redis rake task: Fixed typo in copy command
- Improved memory usage in Job.destroy
- redis-namespace 0.7.0 now required
- Bugfix: Reverted $0 changes
- Web Bugfix: Payload-less failures in the web ui work
- Bugfix: Rakefile logging works the same as all the other logging
- Web Bugfix: Display the configured namespace on the stats page
- Revert Bugfix: Make ps -o more cross platform friendly
- Bugfix: Multiple failure backend gets exception information when created
- Bugfix: Resque#queues always returns an array
- Bugfix: Worker.all returning nil fix
- Bugfix: Make ps -o more cross platform friendly
- Less strict JSON dependency
- Included HISTORY.md in gem
- Redis 2 support
- Depend on redis-namespace 0.5.0
- Added Resque::VERSION constant (alias of Resque::Version)
- Bugfix: Specify JSON dependency
- Bugfix: Hoptoad plugin now works on 1.9
- Bugfix: Be more liberal in which Redis clients we accept.
- Try to resolve redis-namespace dependency issue
- Depend on redis-rb ~> 1.0.7
- Bugfix: Include "tasks/" dir in RubyGem
- Bugfix: Multiple failure backend did not support requeue-ing failed jobs
- Bugfix: Fix /failed when error has no backtrace
- Bugfix: Add
Redis::DistRedis
as a valid client
- Jobs that never complete due to killed worker are now failed.
- Worker "working" state is now maintained by the parent, not the child.
- Stopped using deprecated redis.rb methods
Worker.working
race condition fixedWorker#process
has been deprecated.- Monit example fixed
- Redis::Client and Redis::Namespace can be passed to
Resque.redis=
- Bugfix: Make job hook execution order consistent
- Bugfix: stdout buffering in child process
- Job hooks API. See docs/HOOKS.md.
- web: Hovering over dates shows a timestamp
- web: AJAXify retry action for failed jobs
- web bugfix: Fix pagination bug
- Bugfix: Workers may not be clearing their state correctly on shutdown
- Added example monit config.
- Exception class is now recorded when an error is raised in a worker.
- web: Unit tests
- web: Show namespace in header and footer
- web: Remove a queue
- web: Retry failed jobs
- Added
before_first_fork
,before_fork
, andafter_fork
hooks. - Hoptoad: Added server_environment config setting
- Hoptoad bugfix: Don't depend on RAILS_ROOT
- 1.8.6 compat fixes
- Bugfix: JSON check was crazy.
Job.destroy
andResque.dequeue
return the # of destroyed jobs.- Hoptoad notifier improvements
- Specify the namespace with
resque-web
by passing-N namespace
- Bugfix: Don't crash when trying to parse invalid JSON.
- Bugfix: Non-standard namespace support
- Web: Red backgound for queue "failed" only shown if there are failed jobs.
- Web bugfix: Tabs highlight properly now
- Web bugfix: ZSET partial support in stats
- Web bugfix: Deleting failed jobs works again
- Web bugfix: Sets (or zsets, lists, etc) now paginate.
- Version now included in procline, e.g.
resque-1.5.0: Message
- Web bugfix: Ignore idle works in the "working" page
- Added
Resque::Job.destroy(queue, klass, *args)
- Added
Resque.dequeue(klass, *args)
- Fallback when unable to bind QUIT and USR1 for Windows and JRuby.
- Fallback when no
Kernel.fork
is provided (for IronRuby). - Web: Rounded corners in Firefox
- Cut down system calls in
Worker#prune_dead_workers
- Enable switching DB in a Redis server from config
- Support USR2 and CONT to stop and start job processing.
- Web: Add example failing job
- Bugfix:
Worker#unregister_worker
shouldn't calldone_working
- Bugfix: Example god config now restarts Resque properly.
- Multiple failure backends now permitted.
- Hoptoad failure backend updated to new API
- Vegas bugfix: Don't error without a config
- Use Vegas for resque-web
- Web Bugfix: Show proper date/time value for failed_at on Failures
- Web Bugfix: Make the / route more flexible
- Add Resque::Server.tabs array (so plugins can add their own tabs)
- Start using Semantic Versioning
- Web Bugfix: fix key links on stat page
- Bugfix: Fixed
rand
seeding in child processes. - Bugfix: Better JSON encoding/decoding without Yajl.
- Bugfix: Avoid
ps
flag error on Linux - Add
PREFIX
observance torake
install tasks.
- Bugfix: Job equality was not properly implemented.
- Added
rake resque:workers
task for starting multiple workers. - 1.9.x compatibility
- Bugfix: Yajl decoder doesn't care about valid UTF-8
- config.ru loads RESQUECONFIG if the ENV variable is set.
resque-web
now sets RESQUECONFIG- Job objects know if they are equal.
- Jobs can be re-queued using
Job#recreate
- If USR1 is sent and no child is found, shutdown.
- Raise when a job class does not respond to
perform
. - Added
Resque.remove_queue
for deleting a queue
- Bugfix: Broken ERB tag in failure UI
- Bugfix: Save the worker's ID, not the worker itself, in the failure module
- Redesigned the sinatra web interface
- Added option to clear failed jobs
- First release.