Ну так пусть job и выполняет свою работу. Не надо пытаться накинуть логику на саму очередь.
А для проверки условия добавления и контроля выполнения используйте базу данных, например.
Леонид Горшков, Вы пытаетесь функционал job притянуть к неверным алгоритмам.
При правильном использовании job нет необходимости узнавать существует ли он в очереди.
motomac, Всё от задач.
Я использую на внутреннем проекте ERP системы.
Отдельные базы, чтоб не менять структуру БД.
98% функционала совпадает.
У меня основная разница в БД, разные склады, поставщики, заказы и т.п.
В коде всё сквозное, правильные параметры берутся исходя из ID складов и т.п.
Иногда через switch case.
По хорошему вобще на сервисы переделать, как я выше писал
inFureal, тут уже у кого как получится
Не вижу ничего плохого.
Уникальный функционал уходит в сервисы, разделённые семантически. В зависимости от tenant подхватывается нужный сервис. А чтоб проблем при этом не было, есть интерфейсы.
надо будет 3 tenant добавить - всё легко и просто относительно поддержки 3 разных кодовых баз.
Это по сути простейшая tenant архитектура с разными БД
я пришёл к тому, что общее кол-во хэндлеров не должно превышать кол-во процессоров и критичные джобы на отдельные хендлеры.
А этот автоскейлинг сервер не завешивал ни разу?
Не, джобы в базе я даже не рассматривал, у меня их порой по несколько сотен в секунду создаётся. Именно Failed jobs напрягали.
Надо будет глянуть, как их в базу писать, чет сходу не увидел такой опции, а последний раз тестил года полтора назад и в базу не писал он Failed jobs
DDD это о концепции и не важно какой там ЯП используется, псевдокода достаточно.
Вам не надо DDD, если вы не можете его на псевдокоде понять, не выйдет ничего хорошего.
И ещё имейте ввиду, даже если вы настолько круты, что это всё сделаете, когда-то вы уволитесь и бизнес не найдёт программистов для поддержки :)
Надо делать так, чтоб даже мидл сходу смог разобраться и не поломать всё.
"Сделать сложно - просто, а сделать просто - в 100 раз сложнее"
Делайте просто
Но нафига использовать Livewire?
Не чистый blade, не inertia, не чистый vue
Зачем Livewire?