fix scheduler, add logging for grt free slots
This commit is contained in:
@@ -11,6 +11,8 @@ import os
|
|||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config.from_object(Config)
|
app.config.from_object(Config)
|
||||||
|
|
||||||
|
flask_app = app
|
||||||
|
|
||||||
db.init_app(app)
|
db.init_app(app)
|
||||||
|
|
||||||
os.makedirs("logs", exist_ok=True)
|
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 with_app_context(func):
|
||||||
def wrapper(*args, **kwargs):
|
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 func(*args, **kwargs)
|
||||||
|
|
||||||
return wrapper
|
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
|
url = medodsApi.url + requestParams.url_path
|
||||||
|
|
||||||
|
logger.info(url)
|
||||||
|
logger.info(json)
|
||||||
response = send_request(
|
response = send_request(
|
||||||
requestParams.method,
|
requestParams.method,
|
||||||
url,
|
url,
|
||||||
json,
|
json,
|
||||||
)
|
)
|
||||||
if not response:
|
if not response:
|
||||||
|
logger.error("Ответ не получен")
|
||||||
return {}
|
return {}
|
||||||
slotsDataFull = response.json()
|
slotsDataFull = response.json()
|
||||||
|
logger.info(slotsDataFull)
|
||||||
if len(slotsDataFull.keys()) == 0:
|
if len(slotsDataFull.keys()) == 0:
|
||||||
|
logger.error("Нет свободных приемов")
|
||||||
return {}
|
return {}
|
||||||
firstKey = list(slotsDataFull.keys())[0]
|
firstKey = list(slotsDataFull.keys())[0]
|
||||||
slotsData = {"date": firstKey, "slots": slotsDataFull.get(firstKey)}
|
slotsData = {"date": firstKey, "slots": slotsDataFull.get(firstKey)}
|
||||||
@@ -134,10 +139,12 @@ def setDynamicText():
|
|||||||
from app import logger
|
from app import logger
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
logger.info("Получение информации о посте")
|
||||||
vkPost = VkPost.query.first()
|
vkPost = VkPost.query.first()
|
||||||
if not vkPost:
|
if not vkPost:
|
||||||
logger.error("Информация для размещения поста не найдена")
|
logger.error("Информация для размещения поста не найдена")
|
||||||
return vkPost
|
return vkPost
|
||||||
|
logger.info("Получение информации о свободных приемах")
|
||||||
freeSlots = getFreeSlots(vkPost)
|
freeSlots = getFreeSlots(vkPost)
|
||||||
if len(freeSlots.keys()) == 0:
|
if len(freeSlots.keys()) == 0:
|
||||||
logger.error("Нет свободных приемов")
|
logger.error("Нет свободных приемов")
|
||||||
|
|||||||
Reference in New Issue
Block a user