removeLock.lua 468 B

12345678910111213141516171819
  1. local function removeLock(jobKey, stalledKey, token, jobId)
  2. if token ~= "0" then
  3. local lockKey = jobKey .. ':lock'
  4. local lockToken = rcall("GET", lockKey)
  5. if lockToken == token then
  6. rcall("DEL", lockKey)
  7. rcall("SREM", stalledKey, jobId)
  8. else
  9. if lockToken then
  10. -- Lock exists but token does not match
  11. return -6
  12. else
  13. -- Lock is missing completely
  14. return -2
  15. end
  16. end
  17. end
  18. return 0
  19. end