This commit is contained in:
parent
c48998e085
commit
b6c83a1793
1 changed files with 1 additions and 20 deletions
|
|
@ -1,7 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import queue
|
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
from flask import Flask, Response, jsonify, render_template, request, stream_with_context, abort
|
from flask import Flask, Response, jsonify, render_template, request, stream_with_context, abort
|
||||||
|
|
@ -20,24 +19,6 @@ from intradesk.handler import handle_webhook
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
app = Flask(__name__, template_folder=os.path.join(os.path.dirname(__file__), "templates"))
|
app = Flask(__name__, template_folder=os.path.join(os.path.dirname(__file__), "templates"))
|
||||||
|
|
||||||
# ── Очередь вебхуков (последовательная обработка) ─────────────────────────────
|
|
||||||
|
|
||||||
_webhook_queue: queue.Queue = queue.Queue()
|
|
||||||
|
|
||||||
|
|
||||||
def _webhook_worker():
|
|
||||||
while True:
|
|
||||||
data = _webhook_queue.get()
|
|
||||||
try:
|
|
||||||
handle_webhook(data)
|
|
||||||
except Exception:
|
|
||||||
log.exception("Unhandled error in webhook worker")
|
|
||||||
finally:
|
|
||||||
_webhook_queue.task_done()
|
|
||||||
|
|
||||||
|
|
||||||
threading.Thread(target=_webhook_worker, daemon=True, name="webhook-worker").start()
|
|
||||||
|
|
||||||
|
|
||||||
# ── Авторизация ────────────────────────────────────────────────────────────────
|
# ── Авторизация ────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
@ -116,7 +97,7 @@ def webhook():
|
||||||
if not data:
|
if not data:
|
||||||
return jsonify({"error": "Invalid JSON"}), 400
|
return jsonify({"error": "Invalid JSON"}), 400
|
||||||
|
|
||||||
_webhook_queue.put(data)
|
threading.Thread(target=handle_webhook, args=(data,), daemon=True).start()
|
||||||
return jsonify({"ok": True}), 200
|
return jsonify({"ok": True}), 200
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue