我有一个长时间运行的守护程序(Symfony2 Command),可以在Redis中的工作队列中工作,并使用orm执行这些作业并写入数据库.
我注意到,当工人怠速等待工作时,工作人员有死亡的倾向,因为与MySQL的连接超时.
具体来说,我在日志中看到了这一点:MySQL Server已经消失了.
无论如何我可以让学说自动重新连接吗?或者有什么方法可以手动捕获异常并重新连接学说orm?
谢谢
我们有一个Web应用程序,当前使用轮询来处理持续更新.
虽然切换到长轮询可能是一个小问题,但我们希望实现一个持久且可扩展的Websockets解决方案.
我的问题是:这需要什么样的架构?
然后连接的执行流程将是这样的:
HTTP请求Server以及JS请求WebSocket连接Server响应,Header包含该Upgrade客户端的指令和交换机协议Websocket与客户端建立连接POST/ PUT/等.
Webserver (Apache/Nginx)从查询中获取结果Webserver将结果发送到MQ添加到队列的位置MessageWebsocket从... 发送到服务器MQMessage 被送回客户端这种方法是否正确?我错过了什么吗?我不明白了吗?
我有一个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 ×3
symfony ×2
websocket ×2
architecture ×1
doctrine ×1
doctrine-orm ×1
hosting ×1
localhost ×1