arko/queue-manager-bundle

Allows you to create and process callables queues using singleton service

Installs: 6 616

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Type:symfony-bundle

dev-master 2015-06-26 21:32 UTC

This package is not auto-updated.

Last update: 2025-04-12 20:16:36 UTC


README

How to install

Step 1: Download using composer:

composer.phar require arko/queue-manager-bundle "dev-master"

Step 2: Enable the bundle:

<?php
// app/AppKernel.php

public function registerBundle() {
    $bundles = array(
        // ...
        new Arko\QueueManagerBundle\ArkoQueueManagerBundle(),
    );
}

How to use

You should be able to get queue manager service from the service container like this:

$queueManager = $container->get('arko.queue_manager');

Or, as usual, you can inject it in your own service definitions using its id: arko.queue_manager.

From now you can use it to add different actions to the named queues:

$queueManager->add(function() {
    // Do something here
}, 'queue_name');

// ...

$queueManager->add(function() {
    // Do something else, maybe somewhere else.
}, 'queue_name');

As a first argument to the queue manager add method you can provide any php callable.

Later you will be able to process the queue like this:

$queueManager->process('queue_name');

After the queue is processed, it will be cleared. Generally speaking, it will be cleared just before the queue is processed. So, nested queues should work just fine.