Flask 통합

junyul-kr[flask] extra는 ComplyFlask 확장을 제공합니다.after_request 훅에서 HTML에 배너를 주입하고 transparency.notice_shown 이벤트를 기록합니다.

예시

from flask import Flask
import junyul
from junyul.disclosure.flask import ComplyFlask

junyul.init(api_key=os.environ["JUNYUL_API_KEY"], tenant_secret=os.environ["JUNYUL_TENANT_SECRET"])

app = Flask(__name__)
ComplyFlask(app, default_asset_id="support_v2", locale="ko")

@app.post("/ticket")
@junyul.track(asset_id="support_v2")
def create_ticket():
    return {"id": ...}

Gunicorn + forking 주의

Flask를 Gunicorn에서 multi-worker로 돌릴 경우 junyul.init()을 각 worker 진입점(pre_fork 훅 이후)에서 호출하십시오. SDK의 background sender는 워커별로 독립적으로 실행되어야 합니다.