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())