用TP6的框架和workerman異步從第三方網(wǎng)站獲取鏈接,但是,在啟動幾分鐘后就會自動停掉,也沒有調(diào)用onClose方法。
gateway_worker配置
// BusinsessWorker配置
'businessWorker' => [
'name' => 'BusinessWorker',
'count' => 1,
'eventHandler' => '\app\push\controller\Events',
],
class Events extends PushController
{
public static function onWorkerStart($worker)
{
// 異步建立一個連接
$con = new AsyncTcpConnection(sysconfig('api', 'test_api'));
$con->transport = 'ssl';
$con->onConnect = function ($con) {
Log::error('onConnect');
\app\push\controller\Test::onAsyncConnect($con);
};
$con->onMessage = function ($con, $message) use($worker) {
Log::error('onMessage');
\app\push\controller\Test::onAsyncMessage($con, $message, $worker);
};
$con->onClose = function ($con) {
// 如果連接斷開,則在1秒后重連
Log::error('reConnect');
Timer::add(5, array($con, 'connect'), null, false);
$con->reConnect(1);
};
$con->onError = function ($con, $code, $msg) {
//錯誤的通知處理
Log::error('error:'.$msg);
};
// 執(zhí)行異步連接
$con->connect();
}
}
linux,TP6,workerman
debug方式運行看下報錯,ffphp進程一直在退出,3個小時退出了12658次
確實有報錯。worker[ffphp:12729] exit with status 64000
Workerman[think] has been stopped