otm
Ассистент переноса просроченных задач (Old Task Mover).
Запускается по расписанию APScheduler и переносит все невыполненные задачи с прошедших дат на текущий день.
1""" 2Ассистент переноса просроченных задач (Old Task Mover). 3 4Запускается по расписанию APScheduler и переносит все невыполненные 5задачи с прошедших дат на текущий день. 6""" 7 8from langfuse import observe 9from loguru import logger 10 11from Assistants.assistant import Assistant 12from taskman import TaskManager 13 14 15class OTMAssistant(Assistant): 16 """ 17 Ассистент для автоматического переноса просроченных задач. 18 19 При запуске перемещает все невыполненные задачи, дата которых 20 раньше сегодняшнего дня, на текущую дату. 21 """ 22 23 def __init__(self, name, task_manager: TaskManager): 24 """ 25 Инициализирует ассистента переноса задач. 26 27 Args: 28 name: Название ассистента 29 task_manager: Экземпляр TaskManager для работы с задачами 30 """ 31 super().__init__(self) 32 self.name = name 33 self.task_manager = task_manager 34 35 @observe(name="Daily task migration") 36 def run(self): 37 """ 38 Переносит все просроченные невыполненные задачи на сегодня. 39 40 Запускается ежедневно по расписанию APScheduler. 41 В случае ошибки логирует её и завершает выполнение. 42 """ 43 try: 44 logger.info( 45 f'Запуск цикла переноса прошедших невыполненных задач на сегодня для "{self.name}"...' 46 ) 47 self.task_manager.move_incomplete_tasks_to_today() 48 logger.info( 49 f'Цикл переноса прошедших невыполненных задач на сегодня завершен для "{self.name}".' 50 ) 51 except Exception as e: 52 logger.error(f'Ошибка в OTM Assistant "{self.name}": {e}')
class
OTMAssistant(Assistants.assistant.Assistant):
16class OTMAssistant(Assistant): 17 """ 18 Ассистент для автоматического переноса просроченных задач. 19 20 При запуске перемещает все невыполненные задачи, дата которых 21 раньше сегодняшнего дня, на текущую дату. 22 """ 23 24 def __init__(self, name, task_manager: TaskManager): 25 """ 26 Инициализирует ассистента переноса задач. 27 28 Args: 29 name: Название ассистента 30 task_manager: Экземпляр TaskManager для работы с задачами 31 """ 32 super().__init__(self) 33 self.name = name 34 self.task_manager = task_manager 35 36 @observe(name="Daily task migration") 37 def run(self): 38 """ 39 Переносит все просроченные невыполненные задачи на сегодня. 40 41 Запускается ежедневно по расписанию APScheduler. 42 В случае ошибки логирует её и завершает выполнение. 43 """ 44 try: 45 logger.info( 46 f'Запуск цикла переноса прошедших невыполненных задач на сегодня для "{self.name}"...' 47 ) 48 self.task_manager.move_incomplete_tasks_to_today() 49 logger.info( 50 f'Цикл переноса прошедших невыполненных задач на сегодня завершен для "{self.name}".' 51 ) 52 except Exception as e: 53 logger.error(f'Ошибка в OTM Assistant "{self.name}": {e}')
Ассистент для автоматического переноса просроченных задач.
При запуске перемещает все невыполненные задачи, дата которых раньше сегодняшнего дня, на текущую дату.
OTMAssistant(name, task_manager: taskman.TaskManager)
24 def __init__(self, name, task_manager: TaskManager): 25 """ 26 Инициализирует ассистента переноса задач. 27 28 Args: 29 name: Название ассистента 30 task_manager: Экземпляр TaskManager для работы с задачами 31 """ 32 super().__init__(self) 33 self.name = name 34 self.task_manager = task_manager
Инициализирует ассистента переноса задач.
Arguments:
- name: Название ассистента
- task_manager: Экземпляр TaskManager для работы с задачами
@observe(name='Daily task migration')
def
run(self):
36 @observe(name="Daily task migration") 37 def run(self): 38 """ 39 Переносит все просроченные невыполненные задачи на сегодня. 40 41 Запускается ежедневно по расписанию APScheduler. 42 В случае ошибки логирует её и завершает выполнение. 43 """ 44 try: 45 logger.info( 46 f'Запуск цикла переноса прошедших невыполненных задач на сегодня для "{self.name}"...' 47 ) 48 self.task_manager.move_incomplete_tasks_to_today() 49 logger.info( 50 f'Цикл переноса прошедших невыполненных задач на сегодня завершен для "{self.name}".' 51 ) 52 except Exception as e: 53 logger.error(f'Ошибка в OTM Assistant "{self.name}": {e}')
Переносит все просроченные невыполненные задачи на сегодня.
Запускается ежедневно по расписанию APScheduler. В случае ошибки логирует её и завершает выполнение.