Для запланированного выполнения задач позже, удобно использовать планировщик задач (task scheduler). Например, в операционных системах Windows можно воспользоваться встроенным Планировщиком задач, а в Unix-подобных системах можно использовать cron или другие аналогичные инструменты.
Чтобы установить систему уведомлений и запускать калькуляцию, когда до указанного времени остается менее 10 минут, можно использовать крон для запуска процесса каждую минуту и проверки времени до выполнения задачи. Альтернативно, можно воспользоваться системой сообщений, например Apache Kafka, для отправки сообщений о начале выполнения задачи и уведомлений о ее завершении.
В данной ситуации, я бы предпочел использовать встроенный планировщик задач (например, cron), так как он предназначен специально для выполнения задач по расписанию и не требует дополнительной настройки или зависимостей. Кроме того, cron легко настраивается и обеспечивает надежное выполнение задач в нужное время.