Spaces:
Paused
Paused
Commit
·
0676e8e
1
Parent(s):
72af80c
feat: fix bug
Browse files- web_server.py +17 -1
web_server.py
CHANGED
@@ -294,6 +294,17 @@ class EnvHandlerManager:
|
|
294 |
os.makedirs(output, exist_ok=True)
|
295 |
return EnvHandler(cfg, output)
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
def get_env_handler(self, env_id: str) -> EnvHandler:
|
298 |
"""
|
299 |
Get the environment handler for the given environment ID.
|
@@ -338,7 +349,12 @@ def _get_env_handler(
|
|
338 |
token_info = get_token_info(token)
|
339 |
except Exception:
|
340 |
raise HTTPException(status_code=401)
|
341 |
-
|
|
|
|
|
|
|
|
|
|
|
342 |
if env_handler is None:
|
343 |
raise HTTPException(status_code=404, detail="Environment handler already closed.")
|
344 |
return env_handler
|
|
|
294 |
os.makedirs(output, exist_ok=True)
|
295 |
return EnvHandler(cfg, output)
|
296 |
|
297 |
+
def exists_env_handler(self, env_id: str) -> bool:
|
298 |
+
"""
|
299 |
+
Check if the environment handler for the given environment ID exists.
|
300 |
+
Args:
|
301 |
+
env_id (str): The environment ID.
|
302 |
+
Returns:
|
303 |
+
bool: True if the environment handler exists, False otherwise.
|
304 |
+
"""
|
305 |
+
with self._lock:
|
306 |
+
return env_id in self._env_handlers
|
307 |
+
|
308 |
def get_env_handler(self, env_id: str) -> EnvHandler:
|
309 |
"""
|
310 |
Get the environment handler for the given environment ID.
|
|
|
349 |
token_info = get_token_info(token)
|
350 |
except Exception:
|
351 |
raise HTTPException(status_code=401)
|
352 |
+
|
353 |
+
submission_id = token_info["submission_id"]
|
354 |
+
if not env_manager.exists_env_handler(submission_id):
|
355 |
+
update_submission_status(token_info["team_id"], submission_id, SubmissionStatus.PROCESSING.value)
|
356 |
+
|
357 |
+
env_handler = env_manager.get_env_handler(submission_id)
|
358 |
if env_handler is None:
|
359 |
raise HTTPException(status_code=404, detail="Environment handler already closed.")
|
360 |
return env_handler
|