在作业完成时发出通知响应


Make notifications response when the job is completed

我使用Symfony framework3与Pheanstalk bundle和Doctrine。创建向beanstalk发送数据的事件。不同服务器上的另一个SF应用程序执行任务并更新第一个要完成的SF应用程序的通知状态。我如何检查状态何时更新,然后像这样设置警报:

http://byrobin.nl/store/wp-content/uploads/sites/4/2016/03/local.png

我可以创建一个命令,有不定式循环和检查状态更新,也许监听器在preUpdate?此外,我在运行检查和执行beanstalk作业的命令时也遇到了同样的问题。在开发模式下,我手动运行它,但我尝试不定式循环,如while(true),但它加载我的缓冲区和崩溃。我在考虑每一两分钟运行一次的cron作业?这两个问题的最佳解决方案是什么?任何建议吗?

1)这将是很好的WebSockets,因为它不涉及while(true)循环。websocket可以在任务提交处理后由前端打开。作业完成处理后,它将通知websocket的服务器端,将信息中继回socket上的前端。

2)另一种选择是提交消息,并在参数名称匿名管(根据时间和一些前缀制作唯一的名称)中,工人需要放置答案。在将您在beanstalkd上订阅的作业提交到匿名通道之前,然后提交作业,作业完成后,它将把答案发布到该通道。因为那里已经有一个订阅者,它将保留该作业并处理它,然后删除它,并且该管道也被删除。