相关疑难解决方法(0)

守护进程中的Doctrine2连接超时

我有一个长时间运行的守护程序(Symfony2 Command),可以在Redis中的工作队列中工作,并使用orm执行这些作业并写入数据库.

我注意到,当工人怠速等待工作时,工作人员有死亡的倾向,因为与MySQL的连接超时.

具体来说,我在日志中看到了这一点:MySQL Server已经消失了.

无论如何我可以让学说自动重新连接吗?或者有什么方法可以手动捕获异常并重新连接学说orm?

谢谢

php doctrine symfony doctrine-orm

19
推荐指数
4
解决办法
2万
查看次数

PHP和Symfony的Websockets - 网络和服务器架构

我们有一个Web应用程序,当前使用轮询来处理持续更新.

虽然切换到长轮询可能是一个小问题,但我们希望实现一个持久且可扩展的Websockets解决方案.

我的问题是:这需要什么样的架构

我自己做了一些研究,发现企业应用程序的典型设置是这样的: websocket流量

然后连接的执行流程将是这样的:

  1. 初始握手
    • 客户端发出的HTTP请求Server以及JS请求WebSocket连接
    • Server响应,Header包含该Upgrade客户端的指令和交换机协议
    • Websocket Server Websocket与客户端建立连接
  2. 客户提交POST/ PUT/等.
    • Webserver (Apache/Nginx)从查询中获取结果
    • Webserver将结果发送到MQ添加到队列的位置
    • MessageWebsocket从... 发送到服务器MQ
    • Message 被送回客户端

这种方法是否正确?我错过了什么吗?我不明白了吗?

php architecture websocket symfony

10
推荐指数
1
解决办法
4473
查看次数

在共享主机上的php中启动websockets服务器

我有一个PHP使用WebSockets (http://code.google.com/p/phpwebsocket/)实现的聊天应用程序,当我测试它时,我必须在我的localhost上通过命令运行WebSockets服务器,该命令"php server.php"在localhost上启动服务器并且文件一直运行直到我在Ubuntu终端上按"Ctrl + c".我的意思是它继续运行while循环,这是非常正常的bcoz服务器应该听取请求.

现在我的疑问是我已经在共享主机上托管了这个应用程序,它不能让我SSH访问,我的意思是我不能得到一个终端,就像我曾经运行我的命令的接口,所以我将如何运行该server.php脚本来启动我的服务器现在?

是的,我提到的一件事我只需要运行一次脚本,然后脚本将继续运行,托管服务提供商也允许设置cron jobs.

请提前帮助,谢谢.

php hosting localhost websocket

5
推荐指数
1
解决办法
7478
查看次数