Files
youtube-dl/main.py

69 lines
1.8 KiB
Python

try:
from gevent import monkey
monkey.patch_all()
print("[MAIN] gevent mokey patch!!")
except Exception as e:
print(f"[MAIN] gevent not installed or failed to load: {e}")
# import traceback; traceback.print_exc()
import os
import sys
import traceback
import flask
import markupsafe
flask.Markup = markupsafe.Markup
sys.modules['flask.Markup'] = markupsafe.Markup # Backup for some import styles
# Injecting into flask module members for 'from flask import Markup'
if not hasattr(flask, 'Markup'):
setattr(flask, 'Markup', markupsafe.Markup)
try:
import platform
cmd = "export"
if platform.system() == "Windows":
cmd = "set"
os.system(f"{cmd} CELERYD_HIJACK_ROOT_LOGGER=false")
os.system(f"{cmd} C_FORCE_ROOT=true")
except Exception:
pass
try:
if platform.system() == "Windows":
del os.environ["SSLKEYLOGFILE"]
except Exception:
pass
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib"))
try:
import importlib.metadata
package_name = "python-socketio"
version = importlib.metadata.version(package_name)
# 개선 (비동기 + 로깅)
if int(version.replace(".", "")) < 580:
import subprocess
subprocess.Popen(["pip", "install", "--upgrade", package_name],
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except Exception:
pass
try:
# 2024.06.13
from framework import initiaize
frame = initiaize()
# flaskfarm.main : 패키지로 실행. 패키지로 celry 실행 체크
if __name__ in ["__main__", "flaskfarm.main"] and sys.argv[0].endswith("celery") == False:
frame.start()
else:
app = frame.app
celery = frame.celery
except Exception as exception:
print(str(exception))
print(traceback.format_exc())