我有一个简单的算法,如下所示:
lock
,如果状态为finished
或started
,则返回 - 否则设置为started
,unlock
lock
,将状态设置为finished
,unlock
lock
,将状态设置为failed
,unlock
第2步中的工作,特别是发布凭据和检索JWT令牌。每次进程执行对Web服务的调用时,都会执行该算法。
问题是JWT令牌在72小时后到期,但运行的进程可能会持续更长时间。因此,我需要设置一个将状态重置为not started
的计时器,以便该过程每72小时重新进行一次身份验证。
所以问题是,当计时器触发并将状态重置为{{started
状态时,如何有机会(无论极小)的情况下如何安全地重置状态? 1}}。