Do a bit of refactoring in the bootstrap script

This commit is contained in:
W13R 2022-04-13 20:36:24 +02:00
parent 267ce0188a
commit 3f0a0d79d0

View file

@ -12,43 +12,75 @@ from sys import stdout
from sys import stderr
# devel or prod?
# some vars
devel = False
caddy_process = None
scs_process = None
app_process = None
try:
def stop():
print("\n\nStopping services.\n\n")
caddy_process.send_signal(SIGINT)
scs_process.send_signal(SIGINT)
app_process.send_signal(SIGINT)
print(f"Caddy stopped with exit code {caddy_process.wait()}.")
print(f"session-clear-scheduler stopped with exit code {scs_process.wait()}.")
if devel:
print(f"Django stopped with exit code {app_process.wait()}.")
else:
print(f"Django/Uvicorn stopped with exit code {app_process.wait()}.")
if caddy_process.returncode != 0 or scs_process.returncode != 0 or app_process.returncode !=0:
exit(1)
else:
exit(0)
if __name__ == "__main__":
# development or production environment?
try:
if argv[1] == "devel":
devel = True
except IndexError:
except IndexError:
pass
# vars
# vars
pwd = getcwd()
pwd = getcwd()
APPLICATION_LOG = environ["APPLICATION_LOG"]
CADDY_ACCESS_LOG = environ["CADDY_ACCESS_LOG"]
CADDY_LOG = environ["CADDY_LOG"]
APPLICATION_LOG = environ["APPLICATION_LOG"]
CADDY_ACCESS_LOG = environ["CADDY_ACCESS_LOG"]
CADDY_LOG = environ["CADDY_LOG"]
DJANGO_PORT = environ["DJANGO_PORT"]
HTTPS_PORT = environ["HTTPS_PORT"]
DJANGO_PORT = environ["DJANGO_PORT"]
HTTPS_PORT = environ["HTTPS_PORT"]
if devel:
if devel:
environ["DJANGO_DEBUG"] = "true"
else:
else:
environ["DJANGO_DEBUG"] = "false"
# info
# info
print(f"\n\nStarting server on port {HTTPS_PORT}...\nYou should be able to access the application locally at https://localhost:{HTTPS_PORT}/\n\nPress Ctrl+C to stop all services.\n\n")
if not devel:
print(f"\n\nStarting server on port {HTTPS_PORT}...\nYou should be able to access the application locally at https://localhost:{HTTPS_PORT}/\n\nPress Ctrl+C to stop all services.\n\n")
if not devel:
print(f"All further messages will be written to {APPLICATION_LOG} and {CADDY_LOG}")
print(f"HTTP Access Log will be written to {CADDY_ACCESS_LOG}")
print(f"HTTP Access Log will be written to {CADDY_ACCESS_LOG}")
try:
try:
# start django/uvicorn
@ -120,29 +152,6 @@ try:
app_process.wait()
except KeyboardInterrupt:
except KeyboardInterrupt:
# exit
print("\n\nStopping services.\n\n")
caddy_process.send_signal(SIGINT)
scs_process.send_signal(SIGINT)
app_process.send_signal(SIGINT)
caddy_process.wait()
print(f"Caddy stopped with exit code {caddy_process.returncode}.")
scs_process.wait()
print(f"session-clear-scheduler stopped with exit code {scs_process.returncode}.")
app_process.wait()
if devel:
print(f"Django stopped with exit code {app_process.returncode}.")
else:
print(f"Django/Uvicorn stopped with exit code {app_process.returncode}.")
if caddy_process.returncode != 0 or scs_process.returncode != 0 or app_process.returncode !=0:
exit(1)
else:
exit(0)
stop()