0

我对 Symfony 2 很陌生,对 Gearman 也很陌生。我正在寻找将 Symfony 2 与 Gearman 集成的捆绑包。

根据包装师的说法, mmoreramerino 的捆绑包似乎是最受欢迎的捆绑包。不幸的是,有些东西似乎坏了,自动加载器没有找到捆绑包。

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

当我从这个分支中修复的问题中得到解决时,我尝试切换到“开发开发”,但它对我也不起作用。

问题:如何使用 Symfony 2.1.x 安装这个包?问题 2:是否有任何可行且记录在案的替代方案?

编辑以防其他人遇到这个问题:这是我启动和运行的方法!

  1. 安装 gearman、libgearman、PHP 的 PECL 扩展(使用最新版本!)
  2. 检查 gearman 是否出现在 phpinfo() 中(cli 和 webserver 版本)
  3. 使用“gearmand --verbose INFO”在终端 1 中启动 gearmand(您将看到工作人员和客户端连接到 gearman - 或不连接;-))
  4. 从 gearman php 扩展示例目录中的终端 2 reverse_worker.php 开始
  5. 从 gearman php 扩展示例目录中的终端 3 reverse_client.php 开始
  6. 如果这有效,您就可以使用 Symfony:使用“dev-development”安装 mmoreramerino/GearmanBundle
  7. 将包中的 dev.base.yml 复制到 app/config/gearman/dev.yml
  8. 现在将 TestWorker.php 添加到您的包中,如文档中所述
  9. 使用控制台脚本“php app/console gearman:job:execute MmoreramerinoGearmanBundleWorkerstestWorker~test”启用 testWorker
  10. 现在您可以将作业发送到 Symfony 控制器(或 Symfony 中的其他地方)中的监听 testWorker。尽管我使用的是默认主机/端口,但我必须指定服务器。

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

4

1 回答 1

1

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

"Mmoreramerino/GearmanBundle": "dev-development"

并运行作曲家更新;

然后注册进去app/AppKernel.php(好像你已经这样做了)

new Mmoreramerino\GearmanBundle\MmoreramerinoGearmanBundle(),
于 2013-02-08T10:55:55.363 回答