如何用Symfony 2.1.x安装mmoreramerino / GearmanBundle?

时间:2013-02-08 10:51:02

标签: symfony gearman

我是Symfony 2的新手,也是Gearman的新手。 我正在寻找捆绑将Symfony 2与Gearman集成。

根据packagist,

mmoreramerino's bundle似乎是最受欢迎的捆绑包。不幸的是,似乎有些东西被打破了,自动加载器找不到捆绑包。

Fatal error: Class 'Mmoreramerino\GearmanBundle\MmoreramerinoGearmanBundle' not found in ...

我尝试切换到“dev-development”,因为我从这个分支中修复的问题中得到了解决方案,但它对我来说也不起作用。

问题:如何使用Symfony 2.1.x安装此捆绑包? 问题2:有没有工作和记录的备选方案?

编辑万一有人遇到这个问题:以下是我如何开始运行的方法!

  1. 安装gearman,libgearman,PHP的PECL扩展(使用最新版本!)
  2. 检查齿轮手是否出现在phpinfo()(cli和webserver版本)
  3. 使用“gearmand --verbose INFO”在终端1中启动gearmand(你会看到工人和客户连接到gearman - 或者没有; - ))
  4. 从gearman php扩展示例目录
  5. 中的终端2 reverse_worker.php开始
  6. 从gearman php扩展示例目录
  7. 的终端3 reverse_client.php开始
  8. 如果这样可行,您已准备好使用Symfony:使用“dev-development”安装mmoreramerino / GearmanBundle
  9. 将dev.base.yml从捆绑包复制到app / config / gearman / dev.yml
  10. 现在按照文档
  11. 中的说明将TestWorker.php添加到您的包中
  12. 使用控制台脚本“php app / console gearman:job:execute MmoreramerinoGearmanBundleWorkerstestWorker~test”启用testWorker
  13. 现在您可以将作业发送到Symfony控制器(或Symfony中的其他位置)的侦听testWorker。我必须指定服务器,虽然我使用的是默认主机/端口。

    $gearman = $this->get('gearman');
    $gearman->setServer('127.0.0.1',4730);
    $gearman->doNormalJob('MmoreramerinoGearmanBundleWorkerstestWorker~test');

1 个答案:

答案 0 :(得分:1)

要安装捆绑包,您需要将以下行添加到composer.json

"Mmoreramerino/GearmanBundle": "dev-development"

并运行composer update;

然后在app/AppKernel.php注册(似乎你已经这样做了)

new Mmoreramerino\GearmanBundle\MmoreramerinoGearmanBundle(),