mcfedr/resque-queue-driver-bundle

This package is abandoned and no longer maintained. The author suggests using the mcfedr/queue-manager-bundle package instead.

A bundle for running symfony background tasks with Redis backend

Installs: 2 817

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 3

Open Issues: 0

Type:symfony-bundle

3.5.0 2018-02-24 08:10 UTC

This package is auto-updated.

Last update: 2022-02-01 12:55:22 UTC


README

A driver for Queue Manager Bundle that uses resque

Latest Stable Version License Build Status

Usage

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=1 to 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_CLASS with the fully qualified class name of the kernel to override the kernel.root_dir option. 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_ENV or APP_ENV to override the kernel.environment option.
  • Add SYMFONY_DEBUG or APP_DEBUG to override the kernel.debug option.

Install

Composer

composer require mcfedr/resque-queue-driver-bundle

AppKernel

Include the bundle in your AppKernel

public function registerBundles()
{
    $bundles = [
        ...
        new Mcfedr\QueueManagerBundle\McfedrQueueManagerBundle(),
        new Mcfedr\ResqueQueueDriverBundle\McfedrResqueQueueDriverBundle(),

Config

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"

  • host and port - Where is your Redis server
  • default_queue - Name of the default queue to use
  • track_status - Set to true to enable extra job tracking data to be stored in redis. Useful for debugging

Options to QueueManager::put

  • queue - A string with the name of a queue
  • time - A \DateTime object of when to schedule this job
  • delay - Number of seconds from now to schedule this job
  • track_status - Set to true to enable extra job tracking data to be stored in redis. Useful for debugging