File tree Expand file tree Collapse file tree 5 files changed +50
-4
lines changed Expand file tree Collapse file tree 5 files changed +50
-4
lines changed Original file line number Diff line number Diff line change 1111from gridfs import GridFSBucket , NoFile
1212from pymodm import connect
1313from pymodm .connection import _get_db
14- from pymodm .errors import ValidationError
14+ from pymodm .errors import ValidationError , DoesNotExist
1515from pymodm .files import GridFSStorage
1616from pymongo import ReturnDocument
1717from pymongo .errors import CollectionInvalid
@@ -81,7 +81,7 @@ def get_file(self, file_id):
8181 def _get_or_create_storage_meta (self ):
8282 try :
8383 return StorageMeta .objects .get ({})
84- except StorageMeta . DoesNotExist :
84+ except DoesNotExist :
8585 meta = StorageMeta (used_size = 0 ).save ()
8686 return meta
8787
@@ -99,7 +99,7 @@ def update_storage_size(self, deltasize):
9999 meta .save ()
100100
101101 def check_storage_limit (self , new_file_size ):
102- max_size = int (Config .c .constants .storage_max_size_bytes )* 1024 * 1024
102+ max_size = int (Config .c .constants .storage_max_size_mbytes )* 1024 * 1024
103103 current_size = self .get_used_storage_size ()
104104 if current_size + new_file_size > max_size :
105105 logger .warning ('current_size = {}, new file size = {}' .format (current_size , new_file_size ))
Original file line number Diff line number Diff line change 1+ from flask import Blueprint , render_template
2+ from app .mongo_odm import DBManager
3+ from app .config import Config
4+ from app .root_logger import get_root_logger
5+ from app .lti_session_passback .auth_checkers import is_admin
6+
7+ logger = get_root_logger ()
8+
9+ routes_capacity = Blueprint (
10+ 'routes_capacity' , __name__ , url_prefix = '/capacity' )
11+
12+ @routes_capacity .route ('/' , methods = ['GET' ])
13+ def storage_capacity ():
14+ if not is_admin ():
15+ return {}, 404
16+ current_size = DBManager ().get_used_storage_size ()
17+ max_size = int (Config .c .constants .storage_max_size_mbytes )* 1024 * 1024
18+ ratio = current_size / max_size
19+ return render_template (
20+ 'capacity.html' ,
21+ size = round (current_size / 1 , 2 ),
22+ max_size = round (max_size / 1 , 2 ),
23+ ratio = round (ratio * 100 , 1 )
24+ )
25+
Original file line number Diff line number Diff line change 1+ {% extends 'base.html' %}
2+
3+ {% block content %}
4+ < div class ="container mt-4 ">
5+ < div class ="card ">
6+ < div class ="card-body ">
7+ < h4 class ="card-title "> Загруженность Базы Данных</ h4 >
8+ < p > < strong > Использовано:</ strong > {{ size }} байт</ p >
9+ < p > < strong > Максимум:</ strong > {{ max_size }} байт</ p >
10+ < p > < strong > Заполнено:</ strong > {{ ratio }}%</ p >
11+ < div class ="progress ">
12+ < div class ="progress-bar " role ="progressbar " style ="width: {{ ratio }}%; " aria-valuenow ="{{ ratio }} " aria-valuemin ="0 " aria-valuemax ="100 ">
13+ {{ ratio }}
14+ </ div >
15+ </ div >
16+ </ div >
17+ </ div >
18+ </ div >
19+ {% endblock %}
Original file line number Diff line number Diff line change 3030from app .routes .presentations import routes_presentations
3131from app .routes .trainings import routes_trainings
3232from app .routes .version import routes_version
33+ from app .routes .capacity import routes_capacity
3334from app .status import PassBackStatus , TrainingStatus
3435from app .training_manager import TrainingManager
3536from app .utils import ALLOWED_EXTENSIONS , DEFAULT_EXTENSION
5354app .register_blueprint (routes_presentations )
5455app .register_blueprint (routes_trainings )
5556app .register_blueprint (routes_version )
57+ app .register_blueprint (routes_capacity )
5658
5759logger = get_root_logger (service_name = 'web' )
5860
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ lti_consumer_key=secretconsumerkey
55lti_consumer_secret =supersecretconsumersecret
66version_file =VERSION.json
77backup_path =../dump/database-dump/
8- storage_max_size_bytes =5000
8+ storage_max_size_mbytes =20000
99
1010[mongodb]
1111url =mongodb://db:27017/
You can’t perform that action at this time.
0 commit comments