isFinished-3.js 1020 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const content = `--[[
  2. Checks if a job is finished (.i.e. is in the completed or failed set)
  3. Input:
  4. KEYS[1] completed key
  5. KEYS[2] failed key
  6. KEYS[3] job key
  7. ARGV[1] job id
  8. ARGV[2] return value?
  9. Output:
  10. 0 - Not finished.
  11. 1 - Completed.
  12. 2 - Failed.
  13. -1 - Missing job.
  14. ]]
  15. local rcall = redis.call
  16. if rcall("EXISTS", KEYS[3]) ~= 1 then
  17. if ARGV[2] == "1" then
  18. return {-1,"Missing key for job " .. KEYS[3] .. ". isFinished"}
  19. end
  20. return -1
  21. end
  22. if rcall("ZSCORE", KEYS[1], ARGV[1]) then
  23. if ARGV[2] == "1" then
  24. local returnValue = rcall("HGET", KEYS[3], "returnvalue")
  25. return {1,returnValue}
  26. end
  27. return 1
  28. end
  29. if rcall("ZSCORE", KEYS[2], ARGV[1]) then
  30. if ARGV[2] == "1" then
  31. local failedReason = rcall("HGET", KEYS[3], "failedReason")
  32. return {2,failedReason}
  33. end
  34. return 2
  35. end
  36. if ARGV[2] == "1" then
  37. return {0}
  38. end
  39. return 0
  40. `;
  41. export const isFinished = {
  42. name: 'isFinished',
  43. content,
  44. keys: 3,
  45. };
  46. //# sourceMappingURL=isFinished-3.js.map