Spaces:
Running
Running
add fix auto delete
Browse files- db/__pycache__/mongodb.cpython-310.pyc +0 -0
- db/mongodb.py +17 -4
db/__pycache__/mongodb.cpython-310.pyc
CHANGED
Binary files a/db/__pycache__/mongodb.cpython-310.pyc and b/db/__pycache__/mongodb.cpython-310.pyc differ
|
|
db/mongodb.py
CHANGED
@@ -28,8 +28,7 @@ def save_file_to_mongodb(uploaded_file, db_name="pptx", collection_name="root_fi
|
|
28 |
|
29 |
try:
|
30 |
# Kiểm tra kích thước dữ liệu hiện tại trong DB (bytes → MB)
|
31 |
-
|
32 |
-
db_size_mb = stats.get("storageSize", 0) / (1024 * 1024)
|
33 |
|
34 |
print(f"📦 Database size: {db_size_mb:.2f} MB")
|
35 |
if db_size_mb > max_db_size_mb:
|
@@ -134,7 +133,7 @@ def delete_all_files_in_collection(collection_name, db_name="ppt"):
|
|
134 |
|
135 |
for file_id in file_ids:
|
136 |
fs.delete(file_id)
|
137 |
-
print(f"✅ Đã xóa {len(file_ids)} file trong collection '{collection_name}'")
|
138 |
except Exception as e:
|
139 |
print(f"❌ Lỗi khi xóa file: {str(e)}")
|
140 |
finally:
|
@@ -143,4 +142,18 @@ def delete_all_files_in_collection(collection_name, db_name="ppt"):
|
|
143 |
def delete_all():
|
144 |
for i in ['root_file', 'final_file']:
|
145 |
for j in ['word', 'exce', 'pptx', 'csv']:
|
146 |
-
delete_all_files_in_collection(i, db_name=j)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
try:
|
30 |
# Kiểm tra kích thước dữ liệu hiện tại trong DB (bytes → MB)
|
31 |
+
db_size_mb = get_total_cluster_size(client)
|
|
|
32 |
|
33 |
print(f"📦 Database size: {db_size_mb:.2f} MB")
|
34 |
if db_size_mb > max_db_size_mb:
|
|
|
133 |
|
134 |
for file_id in file_ids:
|
135 |
fs.delete(file_id)
|
136 |
+
print(f"✅ Đã xóa {len(file_ids)} file trong collection '{collection_name}' của db '{db_name}'")
|
137 |
except Exception as e:
|
138 |
print(f"❌ Lỗi khi xóa file: {str(e)}")
|
139 |
finally:
|
|
|
142 |
def delete_all():
|
143 |
for i in ['root_file', 'final_file']:
|
144 |
for j in ['word', 'exce', 'pptx', 'csv']:
|
145 |
+
delete_all_files_in_collection(i, db_name=j)
|
146 |
+
|
147 |
+
|
148 |
+
def get_total_cluster_size(client):
|
149 |
+
total_size = 0
|
150 |
+
try:
|
151 |
+
for db_name in ['word', 'exce', 'pptx', 'csv']:
|
152 |
+
db = client[db_name]
|
153 |
+
stats = db.command("dbstats")
|
154 |
+
db_size = stats.get("dataSize", 0)
|
155 |
+
total_size += db_size
|
156 |
+
except Exception as e:
|
157 |
+
print(f"❌ Lỗi khi tính dung lượng cluster: {e}")
|
158 |
+
return -1
|
159 |
+
return total_size / (1024 ** 2)
|