fix scheduler, add logging for grt free slots

This commit is contained in:
2025-12-20 13:37:21 +03:00
parent 0e89e71e20
commit c6aef69caf
4 changed files with 16 additions and 2 deletions
+2
View File
@@ -11,6 +11,8 @@ import os
app = Flask(__name__)
app.config.from_object(Config)
flask_app = app
db.init_app(app)
os.makedirs("logs", exist_ok=True)
+5 -2
View File
@@ -1,9 +1,12 @@
from flask import current_app
from extensions import flask_app
def with_app_context(func):
def wrapper(*args, **kwargs):
with current_app.app_context():
if flask_app is None:
raise RuntimeError("Flask app is not initialized")
with flask_app.app_context():
return func(*args, **kwargs)
return wrapper
+2
View File
@@ -0,0 +1,2 @@
# extensions.py
flask_app = None
+7
View File
@@ -112,15 +112,20 @@ def getFreeSlots(vkPost) -> dict:
url = medodsApi.url + requestParams.url_path
logger.info(url)
logger.info(json)
response = send_request(
requestParams.method,
url,
json,
)
if not response:
logger.error("Ответ не получен")
return {}
slotsDataFull = response.json()
logger.info(slotsDataFull)
if len(slotsDataFull.keys()) == 0:
logger.error("Нет свободных приемов")
return {}
firstKey = list(slotsDataFull.keys())[0]
slotsData = {"date": firstKey, "slots": slotsDataFull.get(firstKey)}
@@ -134,10 +139,12 @@ def setDynamicText():
from app import logger
try:
logger.info("Получение информации о посте")
vkPost = VkPost.query.first()
if not vkPost:
logger.error("Информация для размещения поста не найдена")
return vkPost
logger.info("Получение информации о свободных приемах")
freeSlots = getFreeSlots(vkPost)
if len(freeSlots.keys()) == 0:
logger.error("Нет свободных приемов")