修复定时器重复执行导致邮件重复发送问题
This commit is contained in:
xcy 2023-12-20 19:05:09 +08:00
parent dacd312bfe
commit 23e1941812

View File

@ -9,6 +9,7 @@ let uid2processId = {};
//订阅redis
let subscribeRedis: RedisClientType
let firstPid = null;
//发布和可写redis复用原 setRedis 里的redisClient
@ -43,14 +44,19 @@ export function clusterPublish(key: string, data: any) {
* N个进程中使
*/
export function clusterRunOnce(fun) {
console.log(`${process.pid}环境变量pm_id===>${process.env.pm_id}`);
if (process.env.pm_id == null || process.env.pm_id === '0') {
//非pm2启动的或是pm2下启动的第一个进程
console.log("run clusterRunOnce1 ===>", process.pid)
fun();
return;
}
if(G.config.isG123)return;
if (firstPid == process.pid) {
//pm2的其中一个进程
console.log("run clusterRunOnce2 ===>", process.pid)
fun();
return;
}