web/server/services/cli.py

32 lines
994 B
Python
Raw Normal View History

2024-01-31 00:48:20 +00:00
from argparse import ArgumentParser
from loguru import logger
def cli():
parser = ArgumentParser(prog="python3 -m server", description="Freedium server CLI")
cmd_subparsers = parser.add_subparsers(dest="cmd", required=True)
server_cmd_parser = cmd_subparsers.add_parser("server")
server_cmd_parser.add_argument("--port", nargs="?", type=int, const=7080, help="Port number", default=7080)
opts = parser.parse_args()
logger.trace(opts)
if opts.cmd == "server":
server_cmd(server_cmd_parser, opts)
def server_cmd(cmd, opts):
from server.utils.utils import is_port_in_use
import threading
2024-01-31 00:48:20 +00:00
if is_port_in_use(opts.port):
cmd.error(f"Port {opts.port} is in use or permission denied")
2024-03-27 16:49:52 +00:00
from server.services.worker import execute_server_worker
from server.utils.maintenance_scheduler import do_maintenance
2024-03-18 18:33:34 +00:00
2024-03-27 16:49:52 +00:00
threading.Thread(target=do_maintenance, daemon=True).start()
2024-01-31 00:48:20 +00:00
execute_server_worker(host="0.0.0.0", port=opts.port)