用redis-queque 異步投遞 會(huì)連接超時(shí)
use Webman\RedisQueue\Client as RedisClient;
$msg .= "合:{$data['before_num']}{$num}={$data['after_num']}";
$data['msg'] = $msg;
RedisClient::send($queue, $data);
//執(zhí)行的代碼
class msgQueue implements Consumer
{
// 要消費(fèi)的隊(duì)列名
public $queue = 'push_msg';
// 連接名,對(duì)應(yīng) plugin/webman/redis-queue/redis.php 里的連接`
public $connection = 'default';
// 消費(fèi)
public function consume($data)
{
//發(fā)送微信消息
Wechat::wechat_msg($data['wx_id'] ?? '', $data['fromWxid'] ?? '', $data['msg']);
// 無需反序列化
// var_dump($data); // 輸出 ['to' => 'tom@gmail.com', 'content' => 'hello']
}
}
2023-09-29 13:14:24 pid:10654 RedisException: Connection refused in phar:///www/wwwroot/118.178.238.162/webman.phar/vendor/illuminate/redis/Connectors/PhpRedisConnector.php:153
注釋掉 異步發(fā)送就不會(huì)出現(xiàn)超時(shí)連接
RedisClient::send($queue, $data);
優(yōu)化了 linux 內(nèi)核。 在觀察下。
大概20多個(gè)小時(shí)就會(huì)出現(xiàn)。。redis連接超時(shí)。。然后redsi自己停止運(yùn)行了
1、Connection refused 是連接被拒絕,說明redis掛了,并不是連接超時(shí),timeout才是連接超時(shí)。
2、redis掛了應(yīng)該在redis上找原因,和webman以及redis-queue沒有關(guān)系
3、如果redis總是自己停止運(yùn)行,應(yīng)該是redis沒開守護(hù)進(jìn)程,百度下redis開守護(hù)進(jìn)程
ok 以前都是用 5.0的redis。這次用6+的redis。運(yùn)行20多個(gè)小時(shí)就掛了。。redis錯(cuò)誤日記也沒。只有寫硬盤數(shù)據(jù)成功的日記