Как реализовать проверку существования записи до определенного срока?

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

И под конец, чтоб понятней.
Допустим, как это реализовано в вк, инсте с историями, которые удалаюятся через 24ч?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Imho не нужны никакие шедули и прочее.
Процесс скрытия контента - просто проверка на Datetime в базе, когда идет запрос данных для показа пользователю. Никаких запросов это не добавляет - вам нужно достать какой-то контент, ну добавьте туда where datetime_hide > now() и все.

Физическое удаление данных - если вообще производится (что не факт) то идет в фоне, по крону там итд.
Про истории не знаю, а изображения vk например удаляет только по решению суда, в остальных случаях по прямым ссылкам на сервера статики они остаются доступны вечно.
Ответ написан
riot26
@riot26
<:З )~~
Чтобы решить эту проблему я помимо Task Scheduling сделал в каждом контроллере, связанным с заданиями, проверку на истечение срока годности, но это добавляет большое количество запросов.

Global scope?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы