octava / job-queue-bundle
又是 jms/job-queue-bundle 的一个包装器
dev-master / 3.0.x-dev
2017-07-11 16:44 UTC
Requires
- doctrine/collections: ^1.3
- jms/job-queue-bundle: ^2.0-@dev
- sonata-project/admin-bundle: ^3.9
This package is auto-updated.
Last update: 2024-08-29 04:19:59 UTC
README
又是 jms/job-queue-bundle 的一个包装器。全局目标是与你的项目多服务器架构协同工作。例如,需要为所有服务器运行 cache:clear 命令。在这种情况下,作业队列 指的是 服务器。
$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);
安装
你可以使用 composer 轻松安装 OctavaJobQueueBundle。只需将以下内容添加到你的 composer.json
文件中:
// composer.json { // ... "require": { // ... "jms/job-queue-bundle": "^2.0-@dev", "octava/job-queue-bundle": "3.0.x-dev" } }
将你的服务器列表作为队列列表,并定义一个默认队列。
#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
然后,你可以通过在存放 composer.json 文件的目录中运行 composer 的 update 命令来安装新的依赖项。
composer update jms/job-queue-bundle octava/job-queue-bundle
现在,Composer 将自动下载所有必需的文件,并为你安装它们。接下来,你需要更新你的 AppKernel.php 文件,并注册新的包。
<?php // in AppKernel::registerBundles() $bundles = array( // ... new JMS\JobQueueBundle\JMSJobQueueBundle(), new Octava\Bundle\JobQueueBundle\OctavaJobQueueBundle(), // ... );
让你的 app/console 使用 JMSJobQueueBundle 的 Application
// use Symfony\Bundle\FrameworkBundle\Console\Application; use JMS\JobQueueBundle\Console\Application;
最后,使用控制台命令 ocatava-job-queue:run
执行作业。