Spaces:
Sleeping
Sleeping
File size: 2,494 Bytes
9625f38 96692cf 6fe0d0c a3830f2 6fe0d0c b5ff045 24da8ec 7cfe55a 6fe0d0c a88e1d8 b5ff045 b03bfdc e01cc89 b5ff045 7cfe55a 6fe0d0c 7cfe55a 9625f38 dde6bd9 3eb99bc b03bfdc b5ff045 b03bfdc dde6bd9 24da8ec |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# portfolio/app.py
from flask import Flask, render_template, url_for, redirect
# from npc_social_network.routes.npc_route import npc_bp
# from npc_social_network import simulation_core
# from stock.routes.stock_route import stock_bp
import threading
import logging
import os
# -------------------------------------------------------------------
# ํ์ผ 1: portfolio/app.py (์์ )
# ์ญํ : ์ ์ฒด ํฌํธํด๋ฆฌ์ค์ ์ง์
์ .
# NPC ์๋ฎฌ๋ ์ด์
์ค๋ ๋๋ฅผ ์์ํ๊ณ , ๊ด๋ จ URL ๊ทธ๋ฃน(Blueprint)์ ๋ฑ๋กํฉ๋๋ค.
# -------------------------------------------------------------------
# ์๋ฎฌ๋ ์ด์
์ด ์ฌ๋ฌ ๋ฒ ์ด๊ธฐํ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์ ๊ธ ์ฅ์น
init_lock = threading.Lock()
simulation_initialized = False
# ํน์ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๊ฑธ๋ฌ๋ด๊ธฐ ์ํ ํํฐ ํด๋์ค
class LogFilter(logging.Filter):
def filter(self, record):
# /api/world_state ๊ฒฝ๋ก์ ๋ํ ๋ก๊ทธ๋ ๊ธฐ๋กํ์ง ์์
if "/api/world_state" in record.getMessage():
return False
if "/api/npc_details" in record.getMessage():
return False
if "/api/toggle_simulation" in record.getMessage():
return False
return True
def create_app():
"""Flask ์ฑ์ ์์ฑํ๊ณ , ํ์ํ Blueprint๋ฅผ ๋ฑ๋กํ๋ ํฉํ ๋ฆฌ ํจ์."""
app = Flask(__name__,
template_folder='templates') # static/template ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ณธ๊ฐ
try:
from npc_social_network.routes.npc_route import npc_bp
app.register_blueprint(npc_bp)
print("โ
'npc_social' Blueprint๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ฑ๋ก๋์์ต๋๋ค.")
# app.register_blueprint(stock_bp)
except Exception as e:
import traceback
print("="*60)
print("โ CRITICAL ERROR: Blueprint ๋ฑ๋ก ์ค ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค!")
print(f" ์๋ฌ ๋ฉ์์ง: {e}")
print("="*60)
traceback.print_exc() # ์๋ฌ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
print("="*60)
return app
if __name__ == '__main__':
# 1. flask ์ฑ ์คํ
app = create_app()
# Flask ์ฑ์ด ์คํ๋๊ธฐ ์ ์ ๋ก๊ทธ ํํฐ๋ฅผ ์ ์ฉํฉ๋๋ค.
log = logging.getLogger('werkzeug')
log.addFilter(LogFilter())
# use_reloader=False๋ ๋๋ฒ๊ทธ ๋ชจ๋์์ ์ฑ์ด ๋ ๋ฒ ์คํ๋๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ,
# ์๋ฎฌ๋ ์ด์
์ค๋ ๋๊ฐ ๋ ๋ฒ ์์๋์ง ์๋๋ก ํฉ๋๋ค.
app.run(host='0.0.0.0', port=int(os.environ.get("PORT", 7860))) |