Open fankeke opened 7 years ago
master 分支已经不再以 lock 的方式创建 timer. https://github.com/upyun/lua-resty-checkups/blob/master/lib/resty/checkups/api.lua#L184
@tokers @huangnauh 谢谢回复 1 对于第一个,我理解是当时没有ngx.worker.id这个API,所以用了lock的这种方案来实现创建唯一check timer的是吧。 但是,在master分支,代码里面已经用到了ngx.worker.id(在config字典里存放节点信息),这个是怎么回事?
2 对于死锁的问题,我考虑过,但持有timer的worker挂掉后会导致死锁。不过CHECKUP_TIMER_KEY这个值是和os.time相关的,所以挂掉后,CHECKUP_TIMER_KEY值会不同,不会有死锁的问题。 local CHECKUP_TIMER_KEY = "checkups:timer:" .. os.time()
谢谢
@huangnauh 谢谢回复
2 , 之前用lock方式的CHECKUP_TIMER_KEY是不变的是吧,好吧。。。 那么目前的CHECKUP_TIMER_KEY是做什么工作的?
hello,请教下: 1 为何创建check timer要用lock的方式而不是用ngx.worker.id的方式来创建唯一timer?是有什么特殊的考虑吗?
2 在lock方式中(目前的方式),base.CHECKUP_TIMER_KEY在设置到mutex shdict中时为何要设置超时时间?(默认60s) ,
谢谢