[ZILANT] настройка запуска респондер-бота через релей
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2026-08-02 14:28:57 +03:00
parent 0b5f20b748
commit 064d22cfd8
3 changed files with 37 additions and 12 deletions
+23 -1
View File
@@ -1,4 +1,26 @@
from tg_mainbot import app # Импортируйте ваше приложение
import fcntl
import os
from tg_mainbot import app, setup_webhook
def _setup_webhook_once():
"""
Регистрируем webhook один раз при старте gunicorn.
Без этого (__main__ не вызывается) Telegram не шлёт апдейты через relay —
ссылка «Подписка» (/start) молчит.
"""
lock_path = os.path.join(os.getenv("TMPDIR", "/tmp"), "zilant_webhook_setup.lock")
with open(lock_path, "w") as lock_file:
try:
fcntl.flock(lock_file.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
except BlockingIOError:
# Другой воркер уже ставит webhook
return
setup_webhook()
_setup_webhook_once()
if __name__ == "__main__":
app.run()