fix scheduler, add logging for grt free slots
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# extensions.py
|
||||
flask_app = None
|
||||
@@ -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("Нет свободных приемов")
|
||||
|
||||
Reference in New Issue
Block a user