есть две входные точки: контроллер и крон. Контроллер это файл пользователя, Крон это через внешнюю ссылку. В конечном результате, пользовательский файл или файл по ссылке сохраняется в локальное хранилище, перед этим валидируется.
схема
контроллер отправляет ссылку на времменое хранилище в команду1 -> команда1 -> валидирует файл и отправляет содержимое в виде строки в хендлер -> хенлдер записивает в хранилище локальное
крон отправляет внешнюю ссылку на файл в команду2 -> команда2 может ли она запустить скачивание? должнна ли это быть отдельная команда, ведь это скачивание файла по ссылке, которое может использоватся по сути много где? валидирует в хендер -> хенлдер записивает в хранилище локальное
нужно ли в команде2 запускать команду совсем другую, для самого скачивания файла? или же там реализовать логику скачивания(curl параметры и тд)
CQRS не про это вообще. Как сделать вызов кода из разных точек, хорошо описал Дмитрий Елисеев в своей лекции, изучи и поймëшь) https://youtu.be/eU4ajVB9Lz4
а вот это для вашей задачи не подойдет? https://laravel.com/docs/8.x/queues#job-chaining
Да не особо, если говорить о контроллере то результат о невалидности нужно отдать, да и вопрос собственно в другом Что делать с получениеи контента по ссылке, это как подкоманда или как?
Дальше все идет в джобу конечно, но еще до джобы надо провалидировать и сохранить контент, чтобы потом обрабатывать
так отдавай сразу в Job там пусть и валидируется, далее по цепочке передается в следующий Job. Или вот новый функционал из Laravel 8, можно в том числе отлеживать готовность: https://laravel.com/docs/8.x/queues#job-batching
Опустим момент с джобой, где писать и вызывать сохранение контента по внешней ссылке
Обсуждают сегодня