fix:
修复定时器重复执行导致邮件重复发送问题
This commit is contained in:
parent
dacd312bfe
commit
23e1941812
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user