1.3 (2013-??-??) - Current Master
Note: This release introduces backwards incompatible changes with all previous versions of php-resque. Please see below for details.
Redisent (Redis Library) Replaced with Credis
Redisent has always been the Redis backend for php-resque because of its lightweight nature. Unfortunately, Redisent is largely unmaintained.
php-resque now utilizes Credis for all Redis based operations. Credis automatically required and installed as a Composer dependency.
Composer support has been improved and is now the recommended method for including php-resque in your project. Details on Composer support can be found in the Getting Started section of the readme.
Improved DSN Support
Changes by iskandar introduce improved support for using DSNs to connect to Redis. You can now utilize the following formatted strings for the REDIS_BACKEND environment variable to connect:
redis://user:pass@host:port/(username is required but will be ignored)
tcp://user:pass@host:port/(username is required but will be ignored)
- COMPATIBILITY BREAKING: The bundled worker manager
resque.phphas been moved to
bin/resque, and is available as
vendor/bin/resquewhen php-resque is installed as a Composer package.
- Restructure tests and test bootstrapping. Autoload tests via Composer (install test dependencies with
composer install --dev)
SETEXto list of commands which supply a key as the first argument in Redisent (danhunsaker)
- Fix an issue where a lost connection to Redis could cause an infinite loop (atorres757)
- Add a helper method to
Resque_Redisto remove the namespace applied to Redis keys (tonypiper)
- Call beforePerform hook before retrieivng an instance of the job class (allows beforePerform to cancel a job with DontPerform before initialising your application)
beforeEnqueuehook, called before a job is placed on a queue
Note: This release is largely backwards compatible with php-resque 1.1. The next release will introduce backwards incompatible changes (moving from Redisent to Credis), and will drop compatibility with PHP 5.2.
- Allow alternate redis database to be selected when calling setBackend by supplying a second argument (patrickbajao)
require_oncewhen including php-resque after the app has been included in the sample resque.php to prevent include conflicts (andrewjshults)
- Wrap job arguments in an array to improve compatibility with ruby resque (warezthebeef)
- Fix a bug where the worker would spin out of control taking the server with it, if the redis connection was interrupted even briefly. Use SIGPIPE to trap this scenario cleanly. (d11wtq)
- Added support of Redis prefix (namespaces) (hlegius)
- When reserving jobs, check if the payload received from popping a queue is a valid object (fix bug whereby jobs are reserved based on an erroneous payload) (salimane)
- Re-enable autoload for class_exists in Job.php (humancopy)
- Fix lost jobs when there is more than one worker process started by the same parent process (salimane)
- Move include for resque before APP_INCLUDE is loaded in, so that way resque is available for the app
- Avoid working with dirty worker IDs (salimane)
- Allow UNIX socket to be passed to Resque when connecting to Redis (pedroarnal)
- Fix typographical errors in PHP docblocks (chaitanyakuber)
- Set the queue name on job instances when jobs are executed (chaitanyakuber)
- Fix and add tests for Resque_Event::stopListening (ebernhardson)
- Documentation cleanup (maetl)
- Pass queue name to afterEvent callback
- Only declare RedisException if it doesn't already exist (Matt Heath)
- Add support for Composer
- Fix missing and incorrect paths for Resque and Resque_Job_Status classes in demo (jjfrey)
- Disable autoload for the RedisException class_exists call (scragg0x)
- General tidy up of comments and files/folders
- Update Redisent library for Redis 2.2 compatibility. Redis 2.2 is now required. (thedotedge)
- Trim output of
psto remove any prepended whitespace (KevBurnsJr)
$_ENVfor better portability across PHP configurations (hobodave)
- Add support for sub-second queue check intervals (KevBurnsJr)
- Ability to specify a cluster/multiple redis servers and consistent hash between them (dceballos)
- Change arguments for jobs to be an array as they're easier to work with in PHP.
- Implement ability to have setUp and tearDown methods for jobs, called before and after every single run.
APP_INCLUDEenvironment variable not loading correctly.
- Jobs are no longer defined as static methods, and classes are instantiated first. This change is NOT backwards compatible and requires job classes are updated.
- Job arguments are passed to the job class when it is instantiated, and are accessible by $this->args. This change will break existing job classes that rely on arguments that have not been updated.
- Bundle sample script for managing php-resque instances using monit
- Fix undefined variable
$childwhen exiting on non-forking operating systems
PIDFILEenvironment variable to write out a PID for single running workers
- Initial release