初用workerman和gatewayworker框架,有几个问题想请教一下:
建立mysql和redis连接的时候,是不是必须都要放在Events.php的onWorkerStart中?
如果和业务相关的操作不放在onMessage中,那放在哪里呢?请看我贴的伪代码,我的业务主要就是接收硬件发送过来的16进制数据,然后存入redis和mysql,设备之间不需要通讯,只需要正确无误的把数据存入数据库就行,会频繁与数据库打交道,所有业务逻辑都写onMessage中了,请问这样写是否合理呢?
没有找到gatewayworker默认的日志存放在哪,如果框架有些异常,我该去哪查看…
[attach]1340[/attach]
1.建立mysql和redis连接的时候,是不是必须都要放在Events.php的onWorkerStart中?
建议放在onWorkerStart中,只初始化一次然后复用连接。但是实际上没有限制,你可以workerman启动后任意位置初始化数据库连接
2.如果客户端之前不需要通讯,用workerman即可。
onMessage只是入口,和我们平时开发php一样,index.php是入口,业务逻辑可以分发给其它文件的类处理。
例如
这样利用php类的自动加载(要自己写个autoload规则),就可以把业务分发给不同的类文件处理了
3.没有找到gatewayworker默认的日志存放在哪,如果框架有些异常,我该去哪查看…
框架只关注socket通讯,没有做业务框架,也没有业务的日志类,可以自己根据需要加载其它业务类去处理业务。框架自身有个workerman.log,默认在workerman目录平行的位置,里面会记录一些启动 停止 以及一些致命报错,但是不是给业务的日志类。
明白了,感谢!
业务日志肯定是我自己记录设置的,但是框架自身的日志我没找到,【框架自身有个workerman.log,默认在workerman目录平行的位置,里面会记录一些启动 停止 以及一些致命报错】。我用的gatewayworker,这个workerman.log我没找到。