условно через месяц.
но действие можно обратить.
вопрос: как прибить джобу? (вариант с проверками "а выполняться ли мне?" мне не очень нравится)
по id мне кажется хорошим вариантом, но:
в конструкторе джобы она еще не знает какой у нее айдишник.
handle знает, но толку мне с него... когда ждоба выполняется уже поздно...
dispatch возвращает PendingDispatch, который тоже ничего не знает об айдишнике джобы. (или я не вижу...)
ловить последнюю записанную джобу - тоже такой себе вариант (пока я запрашиваю кто то может уже записать новую)
есть какие то идеи?
Очень тупое решение откладывать джобы на месяц
окей, меняем месяц на 18 минут. или 3
Диспатч возвращает id. Его можешь писать в бд, а проверять в Queue::listen перед выполнением. И да, что мешает генерировать id самостоятельно и класть в джобу? А дальше уже то же самое, что и в первом варианте.
если так и не разберусь с вопросом - то придется смотреть в сторону генерации id, но пока что хотелось бы разобраться.
На чем вызываешь? Конкретно сам метод dispatch должен возвращать, если драйвером предусмотрено.
Посмотри в сторону https://laravel.com/docs/8.x/queues#job-batching Там есть механизмы контроля.
6 версия, там еще такого не придумали
Пора обновляться, благо с 6.x. до 8.x досточно все безшовно проходит.
в целом вы правы, но здесь и сейчас я этого сделать не могу
Можешь в job отпраалять сущность/модель которая и будет содержать информацию надо ли job запускать.
это проверки на этапе выполнения. сейчас джоба проверяет а нужно ли выполняться по ряду параметров. но хотелось бы уйти от этого и просто прихлопнуть ее за ненадобностью
Обсуждают сегодня