Фоновые задачи
Есть задачи, название, путь к скрипту который её выполняет

Есть хайлоадблок заданий, у него привязка к элементу задачи, статус, данные.

Раз в 3 минуты, крон проверяет нет ли невыполненных заданий, если они есть, то запускается скрипт задачи которому передаются данные из поля данные, скрипт сам проверяет время и прерывает себя при его превышении, обычно стоит 5 секунд, до прерывания он сохраняет текущий статус и служебные данные в поле "данные". Когда он завершает действия то переходит в статус "Выполнено".