def release_reserve_task_lock_by_keys(resource_ids, timeout, pipeline=None, expiry=EXPIRE_RESERVE_TASK_LOCK_DELAY): if not resource_ids: return redis_conn = sentinel.master pipeline = redis_conn.pipeline(transaction=True) lock_manager = LockManager(redis_conn, timeout) for resource_id in resource_ids: lock_manager.release_reserve_task_lock(resource_id, pipeline, expiry) current_app.logger.info( "Release reserve task lock. resource id %s, expiry %d", resource_id, expiry)
def release_reserve_task_lock_by_id(project_id, task_id, user_id, timeout, expiry=EXPIRE_RESERVE_TASK_LOCK_DELAY): reserve_key = get_reserve_task_key(task_id) if not reserve_key: return redis_conn = sentinel.master pipeline = redis_conn.pipeline(transaction=True) lock_manager = LockManager(redis_conn, timeout) resource_id = "reserve_task:project:{}:category:{}:user:{}:task:{}".format( project_id, reserve_key, user_id, task_id) lock_manager.release_reserve_task_lock(resource_id, pipeline, expiry) current_app.logger.info( "Release reserve task lock. project %s, task %s, user %s, expiry %d", project_id, task_id, user_id, expiry)