mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-10-10 13:15:18 +02:00
fix race condition with permission sync and fences (#3841)
* fix race condition with permission sync and fences * comments * set the fence --------- Co-authored-by: Richard Kuo (Danswer) <rkuo@onyx.app>
This commit is contained in:
@@ -174,6 +174,10 @@ def try_creating_permissions_sync_task(
|
|||||||
|
|
||||||
custom_task_id = f"{redis_connector.permissions.generator_task_key}_{uuid4()}"
|
custom_task_id = f"{redis_connector.permissions.generator_task_key}_{uuid4()}"
|
||||||
|
|
||||||
|
# set a basic fence to start
|
||||||
|
payload = RedisConnectorPermissionSyncPayload(started=None, celery_task_id=None)
|
||||||
|
redis_connector.permissions.set_fence(payload)
|
||||||
|
|
||||||
result = app.send_task(
|
result = app.send_task(
|
||||||
OnyxCeleryTask.CONNECTOR_PERMISSION_SYNC_GENERATOR_TASK,
|
OnyxCeleryTask.CONNECTOR_PERMISSION_SYNC_GENERATOR_TASK,
|
||||||
kwargs=dict(
|
kwargs=dict(
|
||||||
@@ -185,11 +189,8 @@ def try_creating_permissions_sync_task(
|
|||||||
priority=OnyxCeleryPriority.HIGH,
|
priority=OnyxCeleryPriority.HIGH,
|
||||||
)
|
)
|
||||||
|
|
||||||
# set a basic fence to start
|
# fill in the celery task id
|
||||||
payload = RedisConnectorPermissionSyncPayload(
|
payload.celery_task_id = result.id
|
||||||
started=None, celery_task_id=result.id
|
|
||||||
)
|
|
||||||
|
|
||||||
redis_connector.permissions.set_fence(payload)
|
redis_connector.permissions.set_fence(payload)
|
||||||
except Exception:
|
except Exception:
|
||||||
task_logger.exception(f"Unexpected exception: cc_pair={cc_pair_id}")
|
task_logger.exception(f"Unexpected exception: cc_pair={cc_pair_id}")
|
||||||
|
Reference in New Issue
Block a user