国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

busy進(jìn)程 log出現(xiàn)redis錯(cuò)誤

aidec

您好,我的workerman運(yùn)行定時(shí)發(fā)送email的任務(wù)
每隔一段時(shí)間就會(huì)出現(xiàn)busy的狀況(大概運(yùn)行20天就會(huì)出現(xiàn))
restart后又能在使用20天
我看workerman.log會(huì)出現(xiàn)這樣的錯(cuò)誤

2021-09-23 08:07:07 pid:13187 Worker[13187] process terminated with ERROR: E_ERROR "Uncaught RedisException: read error on connection to localhost:6379 in /var/xxxxxx/autoWriteLog.php
Stack trace:
#0 /var/xxxxxx/autoWriteLog.php(280): Redis->lLen('OrderSe...')

使用的是 use Workerman\Redis\Client;
這是redis連線超時(shí)的緣故嗎?

2320 2 0
2個(gè)回答

xiuwang

Uncaught RedisException: read error on connection to 這個(gè)是redis擴(kuò)展的報(bào)錯(cuò)。

autoWriteLog.php 里的redis實(shí)例在onWorkerStart里初始化,不要提前初始化

  • aidec 2021-09-23

    我的確是提前初始化,我有開好幾個(gè)worker
    使用global $redis的方式
    那我再改成個(gè)別在每個(gè)worker的onWorkerStart new Redis
    謝謝您的幫助

  • aidec 2021-09-23

    在請(qǐng)問(wèn)一下,我的onWorkerStart 里面有一個(gè)timer
    new redis 要寫在 timer里面還是外面

  • xiuwang 2021-09-24

    一般來(lái)說(shuō)都可以。

  • aidec 2021-09-24

    感謝您

小陽(yáng)光

1 redis鏈接在每個(gè)進(jìn)程啟動(dòng)后鏈接

2 出現(xiàn)redis擴(kuò)展拋出來(lái)的異常,丟棄此鏈接,重試獲取鏈接

public static function __callStatic($name, $arguments)
{
try {
return static::$_manager->connection()->{$name}(... $arguments);
} catch (\RedisException $ex) {
Log::info('redis 斷線重連');
try {
static::$_manager->connection()->disconnect();
} catch (\Exception $exception) {
}
self::start(null);//這里在鏈接redis
return static::$_manager->connection()->{$name}(... $arguments);
}
}

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??