From ffb5dc78549d82bed55a3eec73b60b6afeb02b99 Mon Sep 17 00:00:00 2001 From: DingZQ Date: Fri, 27 Oct 2023 20:55:06 +0800 Subject: [PATCH] Refine --- main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 4338b70..88830ea 100644 --- a/main.py +++ b/main.py @@ -13,6 +13,7 @@ from fastapi.middleware.gzip import GZipMiddleware from tjnetwork import * import asyncio import threading +from multiprocessing import Value JUNCTION = 0 RESERVOIR = 1 @@ -35,7 +36,8 @@ if not os.path.exists(tmpDir): app = FastAPI() -lock_simulation = asyncio.Lock() +# 定义一个共享变量 +lock_simulaiton = Value('i', 0) app.add_middleware(GZipMiddleware, minimum_size=1000) @@ -156,8 +158,9 @@ async def fastapi_run_project(network: str) -> str: if lock_simulation.locked: raise HTTPException(status_code=409, detail="is in simulation") - async with lock_simulation: + with lock_simulation.get_lock(): print('lock simulation') + lock_simulation.value = 1 result = run_project(network) return result