AsyncDispatcherBundle
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.