AsyncDispatcherBundle

SensioLabsInsight knpbundles.com

Build Status Coverage Status

Latest Stable Version Total Downloads

AsyncDispatcherBundle is a simple bundle which provides you with an async event dispatcher, which will store events untill kernel.terminate, and then fire them using the regular event dispatcher.

Step 1: Download BBITAsyncDispatcherBundle using composer

Add BBITAsyncDispatcherBundle in your composer.json: (use the latest stable, NOT dev-master)

{
    "require": {
        "bbit/async-dispatcher-bundle": "2.2.0",
    }
}

Now tell composer to download the bundle by running the command:

$ php composer.phar update bbit/async-dispatcher-bundle

Composer will install the bundle to your project's vendor/BBIT directory.

Step 2: Enable the bundle

Enable the bundle in the kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new BBIT\AsyncDispatcherBundle\BBITAsyncDispatcherBundle(),
    );
}

Usage:

$dispatcher = $this->container->get('bbit_async_dispatcher.dispatcher'); // get dispatcher service
$dispatcher->addAsyncEvent('name_of_the.event', new CustomEvent($entity));

More BBIT Bundles:

SqsCommandQueueBundle is a simple bundle, wich you can use, to queue commands on amazon SQS. These can then be processed asynchronously by one or more workers. Latest Stable Version