A driver for Queue Manager Bundle that uses resque
PHP Resque installs two commands into your bin folder.
Generally you should run just one instance of resque-scheduler and several of resque.
QUEUE=default APP_INCLUDE=var/bootstrap.php.cache REDIS_BACKEND=127.0.0.1:6379 ./vendor/bin/resque
PREFIX="my_app:" REDIS_BACKEND=127.0.0.1:6379 ./vendor/bin/resque-scheduler- Add
VVERBOSE=1to the environment to get more logging.
It can be useful to decouple the queueing (master) and execution (slave) of jobs in a
micro service architecture. For this it can be necessary to set specific kernel_options
for a worker if they differ from the master.
- Add
KERNEL_CLASSwith the fully qualified class name of the kernel to override thekernel.project_diroption. If your kernel is not located in the root namespace (like in symfony flex applications), this is the only way to specify the class name of the kernel class. - Add
SYMFONY_ENVorAPP_ENVto override thekernel.environmentoption. - Add
SYMFONY_DEBUGorAPP_DEBUGto override thekernel.debugoption.
composer require mcfedr/resque-queue-driver-bundle
Include the bundle in your AppKernel
public function registerBundles()
{
$bundles = [
...
new Mcfedr\QueueManagerBundle\McfedrQueueManagerBundle(),
new Mcfedr\ResqueQueueDriverBundle\McfedrResqueQueueDriverBundle(),
With this bundle installed you can setup your queue manager config similar to this:
mcfedr_queue_manager:
managers:
default:
driver: resque
options:
host: 127.0.0.1
port: 11300
default_queue: default
track_status: false
This will create a QueueManager service named "mcfedr_queue_manager.default"
hostandport- Where is your Redis serverdefault_queue- Name of the default queue to usetrack_status- Set totrueto enable extra job tracking data to be stored in redis. Useful for debugging
queue- Astringwith the name of a queuetime- A\DateTimeobject of when to schedule this jobdelay- Number of seconds from now to schedule this jobtrack_status- Set totrueto enable extra job tracking data to be stored in redis. Useful for debugging

