【问题标题】:Make notifications response when the job is completed作业完成时做出通知响应
【发布时间】:2016-09-27 17:56:22
【问题描述】:

我正在使用带有 Pheanstalk 包和 Doctrine 的 Symfony 框架 3。我创建了将数据发送到 beanstalk 的事件。不同服务器上的另一个 SF 应用程序执行作业并将第一个 SF 应用程序上的通知状态更新为已完成。如何检查状态何时更新,而不是像这样设置警报:

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

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

【问题讨论】:

    标签: php symfony doctrine beanstalkd


    【解决方案1】:

    1) 最好使用 WebSockets,因为它不涉及 while(true) 循环。在提交任务进行处理后,前端可以打开 websocket。作业完成处理后,它会通知 websocket 的服务器端将信息转发回前端的套接字。

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

    【讨论】:

      猜你喜欢
      • 2019-09-06
      • 2013-12-10
      • 2016-11-26
      • 2018-12-07
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多