тяжелым задачам)
Не могу пока придумать, как обыграть...
Задача:
Импорт 100500 товаров с подгрузкой превьюх по URL.
Вводные:
Используется Spatie/MediaLibrary который ставит подгрузку изображений в очередь.
Под превью - отдельная модель, к которой привязывается медиафайл. Что в дальнейшем при новом импорте позволяет не качать заново превьюху, если прошло меньше чем n времени.
———
Сейчас порядок такой:
- Импортируется база товаров, затем в цикле проходимся по всем товарам и если есть превью - оно привязывается к товару.
- Если нет - создается и привязывается.
Решил вынести в job, чтобы небыло TimeOut и других побочек в виде ожидания по несколько минут ответа. Вроде логично.
Но пока эта таска не выполнится - копятся задачи на загрузку медиа по url.
А основная падает, т.к. не дожидается выполнения этих задач, ведь они начнутся только после нее.
Тут и вижу странность.
Собственно вопрос:
Как обыграть этот момент, и как принято делать Импорты/Экспорты?
Можно на разные очереди разбить
Обсуждают сегодня