I've been using the "old" style of long-running tasks whereby the tasks checks for the presence of a lock before continuing. I've noticed that since the system upgrade which added the new style of long-running tasks (~oct 24), this old method is not working. The method always returns as locked, and the task does not run.
Is this a known change since the introduction of the new long-running tasks system?
def currentlyLocked(user):
global lock_socket
lock_socket = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
try:
lock_id = user+"-socket-lock"
lock_socket.bind('\0' + lock_id)
logging.debug("Acquired lock %r" % (lock_id,))
return False
except socket.error:
# Socket already locked, task must already be running
logging.info("Failed to acquire lock %r" % (lock_id,))
return True