Php Zend Framework 3的队列管理器建议

Php Zend Framework 3的队列管理器建议,php,doctrine,queue,jobs,zend-framework3,Php,Doctrine,Queue,Jobs,Zend Framework3,我们目前正在将系统从ZF2迁移到ZF3。在ZF2中,为了在后台对长/资源贪婪的作业进行排队,我们将SLMQUE与SLMQUEBEanstalkd适配器一起使用。然而,事实证明SLMQUEBEANSTALKD不再被维护,因为依赖关系冲突,这阻止了我们升级 你能给我提供好的替代方案,需要对代码进行合理的修改吗 我考虑的是SLMQUEDoctrine,因为它似乎得到了维护,并且在某种程度上与我们当前的堆栈相当。我们最终使用了SLMQUEDoctrine,它只需要很少的代码更改: 简言之: 我们的作业需

我们目前正在将系统从ZF2迁移到ZF3。在ZF2中,为了在后台对长/资源贪婪的作业进行排队,我们将SLMQUE与SLMQUEBEanstalkd适配器一起使用。然而,事实证明SLMQUEBEANSTALKD不再被维护,因为依赖关系冲突,这阻止了我们升级

你能给我提供好的替代方案,需要对代码进行合理的修改吗


我考虑的是SLMQUEDoctrine,因为它似乎得到了维护,并且在某种程度上与我们当前的堆栈相当。

我们最终使用了SLMQUEDoctrine,它只需要很少的代码更改:

简言之: 我们的作业需要实现ObjectManagerWareInterface,该接口具有队列管理器内部使用的对象管理器的setter和getter。我们需要通过构造函数在每个作业上注入对象管理器

/** @var ObjectManager $entityManager */
$entityManager = $container->get('doctrine.entitymanager.orm_default');

return new Job($entityManager);
为了实现上述功能,我们在application.config中启用了DoctrineModule、DoctrineORMModule和slmqueuedoctor

之后,我们在config.local和config.global中配置队列。我不会把配置放在这里,因为它们有点大。我建议您阅读slmquedoctor的README.md和的文档