|
@@ -5,6 +5,8 @@ import logging
|
|
|
from EchoBot import JabberBot
|
|
|
from slixmpp.stanza import Message
|
|
|
import jsonAndRequest as jsreq
|
|
|
+from time import sleep
|
|
|
+from lib import filter_interval_tickets
|
|
|
|
|
|
botname = "open_access_request_pending"
|
|
|
operating_status = 320
|
|
@@ -32,7 +34,7 @@ INTERVAL_COUNT = 3
|
|
|
# INTERVAL_TIME = 30 * 60 # 30 минут в секундах
|
|
|
INTERVAL_TIME = 30 # Для проверки
|
|
|
|
|
|
-global tasklist
|
|
|
+global ticket_list
|
|
|
|
|
|
def message_handler(msg: Message):
|
|
|
"""Обработчик входящих сообщений"""
|
|
@@ -50,13 +52,75 @@ def start_handler():
|
|
|
|
|
|
logging.info(">>>>> %s |---| %s <<<<<", JID, PASSWORD)
|
|
|
|
|
|
- logging.info("Сообщение отправлено")
|
|
|
+ global tickets
|
|
|
+ tickets = get_fake_data()
|
|
|
|
|
|
- bot.send_message(JID, f"Сообщение отправлено {JID}: {datetime.now()}")
|
|
|
+ while(True):
|
|
|
+ if tickets == []:
|
|
|
+ sleep(INTERVAL_TIME)
|
|
|
+ else:
|
|
|
+ for ticket in tickets:
|
|
|
+ ticket['interval_count'] -= 1
|
|
|
+ if ticket <= 0:
|
|
|
+ processing_interval_unlimited(ticket)
|
|
|
+ else:
|
|
|
+ processing(ticket)
|
|
|
+ tickets = filter_interval_tickets(tickets)
|
|
|
+ sleep(INTERVAL_TIME)
|
|
|
|
|
|
|
|
|
# START CUSTOM FUNCTIONS
|
|
|
|
|
|
+def processing_interval_unlimited(ticket):
|
|
|
+ logging.debug(f"Лимит попыток обработки тикета {ticket.id} исчерпан")
|
|
|
+
|
|
|
+ # db.changestatus
|
|
|
+ # bot.send_message(JID, f"Сообщение отправлено {JID}: {datetime.now()}")
|
|
|
+ # bot message:
|
|
|
+ # {
|
|
|
+ # "action": "add_ticket"
|
|
|
+ # "ticket_id": 0
|
|
|
+ # "ticket_list_id": 0
|
|
|
+ # }
|
|
|
+
|
|
|
+
|
|
|
+def processing(ticket):
|
|
|
+ logging.debug(f"Начало обработки тикета {ticket.id}")
|
|
|
+
|
|
|
+ # Do something
|
|
|
+
|
|
|
+ logging.debug(f"Конец обработки тикета {ticket.id}")
|
|
|
+
|
|
|
+
|
|
|
+def get_fake_data():
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ "ticket_id": 0,
|
|
|
+ "ticket_list_id": 0,
|
|
|
+ "interval_count": INTERVAL_COUNT
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "ticket_id": 1,
|
|
|
+ "ticket_list_id": 0,
|
|
|
+ "interval_count": INTERVAL_COUNT
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "ticket_id": 2,
|
|
|
+ "ticket_list_id": 0,
|
|
|
+ "interval_count": INTERVAL_COUNT
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "ticket_id": 3,
|
|
|
+ "ticket_list_id": 0,
|
|
|
+ "interval_count": INTERVAL_COUNT
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "ticket_id": 4,
|
|
|
+ "ticket_list_id": 0,
|
|
|
+ "interval_count": INTERVAL_COUNT
|
|
|
+ },
|
|
|
+ ]
|
|
|
+
|
|
|
# def get_token():
|
|
|
# return jsreq.requestGetToken(botname, PASSWORD, config.API_URL + "/auth/token/login/")
|
|
|
|