2 Commits 76928eeeee ... 510c0d1320

Author SHA1 Message Date
  blezz-tech 510c0d1320 reminder for tickets with status IN_PROCESS 2 weeks ago
  blezz-tech 76928eeeee reminder for tickets with status IN_PROCESS 2 weeks ago
1 changed files with 23 additions and 13 deletions
  1. 23 13
      handlers/st_request_in_process.py

+ 23 - 13
handlers/st_request_in_process.py

@@ -20,13 +20,17 @@ proceed_to = ["numbers"]
 
 # Новые параметры
 IS_INFINITE_REMINDER = False
-DEFAULT_REMINDER_INTERVAL = 30 * 60  # 30 минут в секундах
+# DEFAULT_REMINDER_INTERVAL = 30 * 60  # 30 минут в секундах
 MAX_REMINDERS = 3  # Максимальное количество напоминаний
-DEFAULT_CHECK_INTERVAL = 5 * 60 # Проверка тикетов каждые 5 минут
- 
+# DEFAULT_CHECK_INTERVAL = 5 * 60 # Проверка тикетов каждые 5 минут
+
+
+DEFAULT_REMINDER_INTERVAL = 5  # 30 минут в секундах
+DEFAULT_CHECK_INTERVAL = 1
+
 tickets_nt = {}
 
-def send_reminder(user, ticket):
+def send_reminder_notification(ticket):
     message = f"Напоминание: необходимо принять решение по тикету {ticket.id}"
 
     # Здесь должен быть код для отправки сообщения пользователю
@@ -35,7 +39,7 @@ def send_reminder(user, ticket):
 
     print(f"Отправлено напоминание пользователю {user} о тикете {ticket.id}")
 
-def send_wontfix_notification(user, ticket):
+def send_wontfix_notification(ticket):
     message = f"Уведомление: тикет {ticket.id} был отмечен как WONTFIX из-за отсутствия действий"
 
     # Здесь должен быть код для отправки сообщения пользователю
@@ -48,21 +52,24 @@ def send_wontfix_notification(user, ticket):
 
 def ticket_worker(ticket, start_time):
     if ticket.status == 131:
+        print(tickets_nt)
         if ticket.id not in tickets_nt:
             tickets_nt[ticket.id] = {
                 "reminders": 0,
                 "last_date_reminder": start_time
             }
-        
-        if (start_time - tickets_nt[ticket.id]["last_date_reminder"]) > DEFAULT_REMINDER_INTERVAL:
+
+        dtime_notification = start_time - tickets_nt[ticket.id]["last_date_reminder"]
+
+        if dtime_notification.seconds > DEFAULT_REMINDER_INTERVAL:
+            tickets_nt[ticket.id]["reminders"] += 1
+            tickets_nt[ticket.id]["last_date_reminder"] = start_time
+
             if IS_INFINITE_REMINDER or tickets_nt[ticket.id]['reminders'] < MAX_REMINDERS:
-                send_reminder("st_request_in_process@ej.sharix-app.org", ticket)
+                send_reminder_notification(ticket)
             else:
-                del tickets_nt[ticket.id] 
-                # Функция смены статуса на WONTFIX
-            
-            tickets_nt[ticket.id]["reminders"] += 1
-            tickets_nt[ticket.id]["last_date_reminder"] += start_time
+                del tickets_nt[ticket.id]
+                send_wontfix_notification(ticket)
 
 
 def ticket_list_worker(ticket_list, start_time):
@@ -71,6 +78,7 @@ def ticket_list_worker(ticket_list, start_time):
         ticket_worker(ticket, start_time)
 
 def status_changer():
+    x = 0
     while True:
         ticket_lists = jsreq.requestGetList(token, config.API_URL + "tickets/api/ticket_list/")
         for ticket_list in ticket_lists:
@@ -80,6 +88,8 @@ def status_changer():
             t1.start()
             t1.join()  # Ожидаем завершения обработки тикета
         time.sleep(DEFAULT_CHECK_INTERVAL)
+        print(f"|||| Интевал {x} ||||")
+        x += 1
 
 # Инициализация и запуск бота
 token = jsreq.requestGetToken(config.API_URL + "api/v1/auth/token/login/")