mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-19 23:19:15 +08:00
add tidb on qdrant redis lock (#12462)
This commit is contained in:
parent
4295cefeb1
commit
05bda6f38d
@ -409,6 +409,16 @@ class TidbOnQdrantVectorFactory(AbstractVectorFactory):
|
|||||||
db.session.query(TidbAuthBinding).filter(TidbAuthBinding.tenant_id == dataset.tenant_id).one_or_none()
|
db.session.query(TidbAuthBinding).filter(TidbAuthBinding.tenant_id == dataset.tenant_id).one_or_none()
|
||||||
)
|
)
|
||||||
if not tidb_auth_binding:
|
if not tidb_auth_binding:
|
||||||
|
with redis_client.lock("create_tidb_serverless_cluster_lock", timeout=900):
|
||||||
|
tidb_auth_binding = (
|
||||||
|
db.session.query(TidbAuthBinding)
|
||||||
|
.filter(TidbAuthBinding.tenant_id == dataset.tenant_id)
|
||||||
|
.one_or_none()
|
||||||
|
)
|
||||||
|
if tidb_auth_binding:
|
||||||
|
TIDB_ON_QDRANT_API_KEY = f"{tidb_auth_binding.account}:{tidb_auth_binding.password}"
|
||||||
|
|
||||||
|
else:
|
||||||
idle_tidb_auth_binding = (
|
idle_tidb_auth_binding = (
|
||||||
db.session.query(TidbAuthBinding)
|
db.session.query(TidbAuthBinding)
|
||||||
.filter(TidbAuthBinding.active == False, TidbAuthBinding.status == "ACTIVE")
|
.filter(TidbAuthBinding.active == False, TidbAuthBinding.status == "ACTIVE")
|
||||||
@ -420,16 +430,6 @@ class TidbOnQdrantVectorFactory(AbstractVectorFactory):
|
|||||||
idle_tidb_auth_binding.tenant_id = dataset.tenant_id
|
idle_tidb_auth_binding.tenant_id = dataset.tenant_id
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
TIDB_ON_QDRANT_API_KEY = f"{idle_tidb_auth_binding.account}:{idle_tidb_auth_binding.password}"
|
TIDB_ON_QDRANT_API_KEY = f"{idle_tidb_auth_binding.account}:{idle_tidb_auth_binding.password}"
|
||||||
else:
|
|
||||||
with redis_client.lock("create_tidb_serverless_cluster_lock", timeout=900):
|
|
||||||
tidb_auth_binding = (
|
|
||||||
db.session.query(TidbAuthBinding)
|
|
||||||
.filter(TidbAuthBinding.tenant_id == dataset.tenant_id)
|
|
||||||
.one_or_none()
|
|
||||||
)
|
|
||||||
if tidb_auth_binding:
|
|
||||||
TIDB_ON_QDRANT_API_KEY = f"{tidb_auth_binding.account}:{tidb_auth_binding.password}"
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
new_cluster = TidbService.create_tidb_serverless_cluster(
|
new_cluster = TidbService.create_tidb_serverless_cluster(
|
||||||
dify_config.TIDB_PROJECT_ID or "",
|
dify_config.TIDB_PROJECT_ID or "",
|
||||||
@ -451,7 +451,6 @@ class TidbOnQdrantVectorFactory(AbstractVectorFactory):
|
|||||||
db.session.add(new_tidb_auth_binding)
|
db.session.add(new_tidb_auth_binding)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
TIDB_ON_QDRANT_API_KEY = f"{new_tidb_auth_binding.account}:{new_tidb_auth_binding.password}"
|
TIDB_ON_QDRANT_API_KEY = f"{new_tidb_auth_binding.account}:{new_tidb_auth_binding.password}"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
TIDB_ON_QDRANT_API_KEY = f"{tidb_auth_binding.account}:{tidb_auth_binding.password}"
|
TIDB_ON_QDRANT_API_KEY = f"{tidb_auth_binding.account}:{tidb_auth_binding.password}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user