1
+ from time import sleep
1
2
from flask_migrate import Migrate , MigrateCommand
2
3
from flask_script import Manager
3
4
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
+
7
9
8
10
# Initialization
9
11
13
15
14
16
manager = Manager (app )
15
17
migrate = 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 )
16
25
manager .add_command ('db' , MigrateCommand )
17
26
27
+
18
28
# Commands
19
29
20
30
@manager .command
21
31
def run ():
22
32
app .run (debug = True , port = 5000 , host = "0.0.0.0" )
23
33
34
+
24
35
# System functions
25
36
26
37
@app .after_request
@@ -32,5 +43,6 @@ def after_request(response):
32
43
response , http_code = ApiResponse .formatFlaskResponse (response )
33
44
return app .make_response ((response , http_code ))
34
45
46
+
35
47
if __name__ == '__main__' :
36
- manager .run ()
48
+ manager .run ()
0 commit comments