Проблема с созданием 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? С одной стороны, задача должна создаваться не из состояний, а на основе данных из базы данных. Именно поэтому была предпринята попытка разместить эту логику в функции, которая отвечает за подключение и запись в БД.

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