求教swoole_server 不定时down掉,是什么原因?如何调试?

我写了一个 服务端的task 处理服务器,一个客户端的。

原理是,用swoole的timer 每一秒检测一次,数据库中是否有需要处理的task

如果有的话,就提交到 server 端进行处理,是异步,并发的,同时最多20条连接

每次启动几小时内,一般是运行好好的,任务都能处理完成,但,总会不定时的down掉,

其实也没down,只是没有任务的执行结果,有时是当天,有时是一天,有时是2天以后,最多能运行一周,然后发现没有处理结果,再重启下,又能运行一段时间

客户端的进程及错误日志,没有发现任何异常,服务端进程也都存在,没有killed,但就是没有结果。。。

也不知道如何调试,因为,确实不知道,触发条件是什么。。。

求教,这个情况,怎么进行进一步的处理?

2017-03-08 21:19
0
0

bqf9979 - 80后老程序员

赞同来自:

你这个我也遇到过,我还遇到过运行一天就报数据库连接过多,然后不重启就不能用的情况

2017-03-23 01:58
0

bigfish830 - 80后IT男

赞同来自:

这个论坛好不尖跃,开发者们,都不来看看么

2017-03-30 11:51
0

darren_ke

赞同来自:

我出在也这种情况,还没处理

2017-03-31 17:25
0

韩天峰 - 关注外星人

赞同来自:

检查PHP错误日志

2017-03-31 19:55
0

darren_ke

赞同来自:

php跟swoole日志都无任何错误,异常

2017-04-01 07:38
0

bigfish830 - 80后IT男

赞同来自:

大家用 erlang 来解决问题吧,

我以前用 erlang 时,从来没有出现过这种问题,后来,为了方便招来的程序员,接手,才改用 swoole 的,不过,看来, swoole 和 eralng 还有是很大距离的

只是 erlang的语法,写起来,太蛋疼了,还有一些库,要自己找

2017-04-01 09:16
0

hanwj

赞同来自:

我也遇到这个问题了 线上的环境的是1.74稳定版本 升级到1.96就出现这个问题

2017-04-09 01:55
0

iou402 - IT男

赞同来自:

遇到这种问题 我一般是用strace 看下进程在做什么 按照经验可能是遇到什么死锁了

2017-04-11 11:13
0

bigfish830 - 80后IT男

赞同来自:

这个问题,基本可以确认是 curl 的问题, swoole 能并发, swoole 之外的组件,并不一定能实现并发,所以,调用过程会出现问题。

例如 curl 组件, 虽然也可以实现并发,但操作复杂, 我的swoole 就是卡在这里了

erlang 的 httpc 可以实现真正并发, 获取外部信息时 ,如果卡掉,只影响当前进程, 其他互不影响 ,是真正的伪托管

2017-05-31 10:53

要回复问题请先登录注册