Имеются задания, у которых есть срок выполнения.Допустим, мне нужно проверять таблицу на наличие просроченных заданий и удалять таковые.
Использую я laravel
C помощью
Task Scheduling я реализовал отправку запроса на наличие "просрочки" в бд каждые 5 минут.То есть казалось бы проверка есть, есть диспетчер, который это делает
Но тут всплывает проблема.Что если срок годности истечет у задания между этими 5-минутными проверками.
Тогда юзер увидет у себя на странице "просроченное" задание, которое в свое время должно быть удалено.
Чтобы решить эту проблему я помимо
Task Scheduling сделал в каждом контроллере, связанным с заданиями, проверку на истечение срока годности,
но это добавляет большое количество запросов.
В итоге имею такую систему :
- Благодаря Task Scheduling каждые 5 минут посылаются запросы в бд и проверяют задания
- Когда юзер хочет совершить любое действие связанное с заданиями отправляется доп запросы на проверку истечения срока завершения
И под конец, чтоб понятней.
Допустим, как это реализовано в вк, инсте с
историями, которые удалаюятся через 24ч?