Проблема с созданием scheduled задач после сохранения данных в БД

    После успешного внесения всех данных в базу данных возникла проблема с созданием scheduled задач. Терминал не выводит никаких сообщений об успешном добавлении задачи, что затрудняет диагностику проблемы.

    Текущая реализация функций

    Основные функции для работы с базой данных и создания scheduled задач находятся в функции save_user_to_db. В эту функцию передаются данные из StatesGroup.

    async def print_scheduled_text(msg: str):
        print(f"\n\nНапоминание: {msg}")
    
    async def save_user_to_db(us_id, name, msg, datetimeuser):
        conn = sqlite3.connect('database.db')
        cursor = conn.cursor()
        cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, us_id INTEGER, name TEXT, msg TEXT, datetimeuser TEXT)")
        cursor.execute("INSERT INTO users (us_id, name, msg, datetimeuser) VALUES (?, ?, ?, ?)", (us_id, name, msg, datetimeuser))
        
        if isinstance(datetimeuser, str):
            run_date = datetime.strptime(datetimeuser, "%d.%m.%Y %H:%M")
        else:
            run_date = datetimeuser
        
        scheduler.add_job(print_scheduled_text, 'date', run_date=run_date, args=[us_id, msg], id=f"job_{us_id}")
        print(f"Запланировано: '{msg}' на {datetimeuser}")
        
        conn.commit()
        conn.close()

    Обработчик данных пользователя

    Обработчик принимает данные от пользователя, сохраняет их и передает в функцию save_user_to_db:

    @dp.message_created(Form.datetimeuser)
    async def get_datatime(event: MessageCallback, context: MemoryContext):
        try:
            age = event.message.body.text
            age = datetime.strptime(age, "%d.%m.%Y %H:%M")
            today = datetime.now()
            
            if age < today:
                await event.message.answer('Вы ввели прошедшую дату. Пожалуйста, введите настоящую или будущую дату.', attachments=[btnall.btntask.as_markup()])
            else:
                await context.update_data(datetimeuser=age)
                
            user_data = await context.get_data()
            await event.message.answer(f"Задача успешно создана!", attachments=[btnall.btntask.as_markup()])
            await save_user_to_db(user_data['us_id'], user_data['name'], user_data['msg'], user_data['datetimeuser'])
            await context.clear() # Завершаем состояние
            
        except ValueError:
            await event.message.answer("Ошибка: Неверный формат даты и времени. Пожалуйста, используйте формат DD.MM.YYYY HH:MM")

    Ключевой вопрос

    Возникает закономерный вопрос: правильно ли размещать создание scheduled задач в обработчике message_created? С одной стороны, задача должна создаваться не из состояний, а на основе данных из базы данных. Именно поэтому была предпринята попытка разместить эту логику в функции, которая отвечает за подключение и запись в БД.

    Что может быть не так в текущей реализации? Буду благодарен за конструктивные советы без излишней критики.