136 lines
3.5 KiB
Python
136 lines
3.5 KiB
Python
import os, sys, platform, traceback # noqa F401
|
|
|
|
sys.path.insert(
|
|
0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib")
|
|
)
|
|
sys.path.insert(
|
|
1, os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib2")
|
|
)
|
|
|
|
print(platform.system())
|
|
if platform.system() == "Linux":
|
|
if (
|
|
(
|
|
platform.platform().find("86") == -1
|
|
and platform.platform().find("64") == -1
|
|
)
|
|
or platform.platform().find("arch") != -1
|
|
or platform.platform().find("arm") != -1
|
|
):
|
|
sys.path.insert(
|
|
2,
|
|
os.path.join(
|
|
os.path.dirname(os.path.abspath(__file__)),
|
|
"lib",
|
|
"sc",
|
|
"LinuxArm",
|
|
),
|
|
)
|
|
else:
|
|
sys.path.insert(
|
|
2,
|
|
os.path.join(
|
|
os.path.dirname(os.path.abspath(__file__)), "lib", "sc", "Linux"
|
|
),
|
|
)
|
|
if platform.system() == "Windows":
|
|
sys.path.insert(
|
|
2,
|
|
os.path.join(
|
|
os.path.dirname(os.path.abspath(__file__)), "lib", "sc", "Windows"
|
|
),
|
|
)
|
|
|
|
|
|
print("[GOMMI] sys.path : %s" % sys.path)
|
|
print("[GOMMI] sys.argv : %s" % sys.argv)
|
|
|
|
|
|
# prepare starting
|
|
def prepare_starting():
|
|
try:
|
|
from gevent import monkey
|
|
|
|
monkey.patch_all()
|
|
print("[GOMMI] gevent monkey patch!!")
|
|
sys.getfilesystemencoding = lambda: "UTF-8"
|
|
except Exception:
|
|
print("[GOMMI] gevent not installed!!")
|
|
|
|
|
|
def start_app():
|
|
import framework
|
|
|
|
app = framework.app
|
|
app.jinja_env.auto_reload = True
|
|
app.config["TEMPLATES_AUTO_RELOAD"] = True
|
|
|
|
for i in range(10):
|
|
try:
|
|
framework.socketio.run(
|
|
app, host="0.0.0.0", port=app.config["config"]["port"]
|
|
)
|
|
print("EXIT CODE : %s" % framework.exit_code)
|
|
# 2021-05-18
|
|
if app.config["config"]["running_type"] in ["termux", "entware"]:
|
|
os._exit(framework.exit_code)
|
|
else:
|
|
if framework.exit_code != -1:
|
|
sys.exit(framework.exit_code)
|
|
else:
|
|
print("framework.exit_code is -1")
|
|
break
|
|
except Exception as exception:
|
|
print(str(exception))
|
|
import time
|
|
|
|
time.sleep(10 * i)
|
|
continue
|
|
except KeyboardInterrupt:
|
|
print("KeyboardInterrupt !!")
|
|
print("start_app() end")
|
|
|
|
|
|
def process_args():
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"--port",
|
|
type=int,
|
|
help="If this value is set, ignore the DB value and use it",
|
|
)
|
|
parser.add_argument(
|
|
"--use_gevent",
|
|
choices=["true", "false"],
|
|
default="true",
|
|
help="If true, use gevent. (WCGI, scheduler, socketio)",
|
|
)
|
|
parser.add_argument(
|
|
"--use_celery",
|
|
choices=["true", "false"],
|
|
default="true",
|
|
help="If true, use celery.\nThis value is set to False by force on Windows10",
|
|
)
|
|
parser.add_argument(
|
|
"--repeat",
|
|
default=0,
|
|
type=int,
|
|
help="Do not set. This value is set by automatic",
|
|
)
|
|
args = parser.parse_args()
|
|
args.use_gevent = args.use_gevent == "true"
|
|
args.use_celery = args.use_celery == "true"
|
|
print("[GOMMI] args : %s" % args)
|
|
return args
|
|
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
process_args()
|
|
prepare_starting()
|
|
start_app()
|
|
except Exception as exception:
|
|
print(str(exception))
|
|
print(traceback.format_exc())
|