Skip to content

Commit b831172

Browse files
fix: fix cache error
1 parent c8d8af5 commit b831172

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

webui/app.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import os
33
import sys
4+
import gc
45
import tempfile
56
from importlib.resources import files
67

@@ -178,6 +179,7 @@ def run_graphgen(params: WebuiParams, progress=gr.Progress()):
178179
"nodes": nodes,
179180
}
180181

182+
engine = None
181183
try:
182184
# 4. Initialize and Run Engine
183185
engine = Engine(config, operators)
@@ -214,6 +216,10 @@ def run_graphgen(params: WebuiParams, progress=gr.Progress()):
214216
raise gr.Error(f"Error occurred: {str(e)}")
215217

216218
finally:
219+
if engine:
220+
del engine
221+
gc.collect()
222+
217223
# Clean up workspace
218224
cleanup_workspace(working_dir) # Optional: keep for debugging or enable
219225

webui/utils/cache.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import os
2-
import shutil
1+
import time
32
import uuid
3+
import shutil
4+
import os
5+
import stat
46

57

68
def setup_workspace(folder):
@@ -17,6 +19,15 @@ def setup_workspace(folder):
1719
return log_file, working_dir
1820

1921

20-
def cleanup_workspace(folder):
21-
if os.path.exists(folder):
22-
shutil.rmtree(folder)
22+
def on_rm_error(func, path, exc_info):
23+
os.chmod(path, stat.S_IWRITE)
24+
25+
time.sleep(0.5)
26+
try:
27+
func(path)
28+
except Exception:
29+
pass
30+
31+
def cleanup_workspace(working_dir):
32+
if os.path.exists(working_dir):
33+
shutil.rmtree(working_dir, onerror=on_rm_error)

0 commit comments

Comments
 (0)