first commit
This commit is contained in:
135
gommi.py
Normal file
135
gommi.py
Normal file
@@ -0,0 +1,135 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user