dev-master
9999999-devOne more wrapper for jms/job-queue-bundle
MIT
The Requires
Wallogit.com
2017 © Pedro Peláez
One more wrapper for jms/job-queue-bundle
One more wrapper for jms/job-queue-bundle. Global aim is working with multi-server architecture of you project. For example, cache:clear command needs to run for all your server. In this case job queue means server., (*1)
$manager = $container->get('octava_bundle_job_queue.manager');
$job = new Job('cache:clear');
$jobs = $manager->broadcast($job); //create job for all queues
or
$jobs = $manager->distinct($job); //create job for a default queue
$manager->flush($jobs);
You can easily install OctavaJobQueueBundle with composer. Just add the following to your composer.jsonfile:, (*2)
// composer.json
{
// ...
"require": {
// ...
"jms/job-queue-bundle": "^2.0-@dev",
"octava/job-queue-bundle": "3.0.x-dev"
}
}
Put your server list as list of queue and define a default_queue., (*3)
#parameters.yml
parameters:
#...
default_queue: web-server1
#config.yml
jms_job_queue:
queue_options:
web-server1: ~
web-server2: ~
web-server3: ~
octava_job_queue:
default_queue: '%default_queue%' #web-server1
Then, you can install the new dependencies by running composer’s update command from the directory where your composer.json file is located:, (*4)
composer update jms/job-queue-bundle octava/job-queue-bundle
Now, Composer will automatically download all required files, and install them for you. Next you need to update your AppKernel.php file, and register the new bundle:, (*5)
<?php
// in AppKernel::registerBundles()
$bundles = array(
// ...
new JMS\JobQueueBundle\JMSJobQueueBundle(),
new Octava\Bundle\JobQueueBundle\OctavaJobQueueBundle(),
// ...
);
Have your app/console use JMSJobQueueBundle’s Application:, (*6)
// use Symfony\Bundle\FrameworkBundle\Console\Application; use JMS\JobQueueBundle\Console\Application;
Finally, use the console command ocatava-job-queue:run for job execution., (*7)
One more wrapper for jms/job-queue-bundle
MIT