[Update] 修改启动脚本

pull/2010/head
ibuler 2018-10-24 10:53:00 +08:00
parent 54b6e06d1f
commit 4f580e0df8
1 changed files with 18 additions and 1 deletions

19
jms
View File

@ -42,10 +42,26 @@ try:
except: except:
pass pass
def check_database_connection():
os.chdir(os.path.join(BASE_DIR, 'apps'))
for i in range(60):
print("Check database connection ...")
code = subprocess.call("python manage.py showmigrations users ", shell=True)
if code == 0:
print("Database connect success")
return
time.sleep(1)
print("Connection database failed, exist")
sys.exit(10)
def make_migrations(): def make_migrations():
print("Check database structure change ...") print("Check database structure change ...")
os.chdir(os.path.join(BASE_DIR, 'apps')) os.chdir(os.path.join(BASE_DIR, 'apps'))
if len(os.listdir('assets/migrations')) < 4:
print("Make database migrations ...")
subprocess.call('python3 manage.py makemigrations', shell=True)
print("Migrate model change to database ...")
subprocess.call('python3 manage.py migrate', shell=True) subprocess.call('python3 manage.py migrate', shell=True)
@ -56,6 +72,7 @@ def collect_static():
def prepare(): def prepare():
check_database_connection()
make_migrations() make_migrations()
collect_static() collect_static()
@ -112,7 +129,6 @@ def parse_service(s):
def start_gunicorn(): def start_gunicorn():
print("\n- Start Gunicorn WSGI HTTP Server") print("\n- Start Gunicorn WSGI HTTP Server")
prepare()
service = 'gunicorn' service = 'gunicorn'
bind = '{}:{}'.format(HTTP_HOST, HTTP_PORT) bind = '{}:{}'.format(HTTP_HOST, HTTP_PORT)
log_format = '%(h)s %(t)s "%(r)s" %(s)s %(b)s ' log_format = '%(h)s %(t)s "%(r)s" %(s)s %(b)s '
@ -205,6 +221,7 @@ def start_service(s):
print(time.ctime()) print(time.ctime())
print('Jumpserver version {}, more see https://www.jumpserver.org'.format( print('Jumpserver version {}, more see https://www.jumpserver.org'.format(
__version__)) __version__))
prepare()
services_handler = { services_handler = {
"gunicorn": start_gunicorn, "gunicorn": start_gunicorn,