1+ from time import sleep
12from flask_migrate import Migrate , MigrateCommand
23from flask_script import Manager
34
4- from src .routes import blueprint
5- from src .app import create_app , database
6- from src .utils .ApiResponse import ApiResponse
5+ from .routes import blueprint
6+ from .app import create_app , database , logger
7+ from .utils .ApiResponse import ApiResponse
8+
79
810# Initialization
911
1315
1416manager = Manager (app )
1517migrate = Migrate (app , database .getDatabase (), "/migrations" )
18+
19+ ## Waiting for database to be available
20+ while database .isDatabaseAvailable (app ) is False :
21+ logger .warning ("Database unreachable. Waiting for 3 seconds to be up..." )
22+ sleep (3.0 )
23+ logger .info ("Database is up and running ✓" )
24+ database .initDatabase (app )
1625manager .add_command ('db' , MigrateCommand )
1726
27+
1828# Commands
1929
2030@manager .command
2131def run ():
2232 app .run (debug = True , port = 5000 , host = "0.0.0.0" )
2333
34+
2435# System functions
2536
2637@app .after_request
@@ -32,5 +43,6 @@ def after_request(response):
3243 response , http_code = ApiResponse .formatFlaskResponse (response )
3344 return app .make_response ((response , http_code ))
3445
46+
3547if __name__ == '__main__' :
36- manager .run ()
48+ manager .run ()
0 commit comments