Антон 🦝 ProcyonSpicus
/url_a1/url_b2/url_c1/url_d2 - это ликвидно
Антон 🦝 ProcyonSpicus
/url_a1/url_c1/url_d2//url_b2 - а это нет
SarcasmIO
шотенадо
SarcasmIO
онямешник
SarcasmIO
ну
SarcasmIO
event sourcing
SarcasmIO
CQRS + DDD
SarcasmIO
тогда не парься кидать в евенте еще 2 евента не нужно
SarcasmIO
лучше сделай:
UserWasRegisterEvent =>
[
SendEmailListentrs::class,
AnotherLister:class
}
SarcasmIO
почему ?
SarcasmIO
у тебя уведомлениями и email занимаются джобы
SarcasmIO
в слушателях ты просто вызываешь их когда нужно(отработало событие)
SarcasmIO
прокидывай тип внутрь
SarcasmIO
будет так:
NewUserREgister::class => [
SendMailListeners::class]
//SendMailListeners
handle()
{
try{
EmailJob::dispatch($email,$type);
}
SarcasmIO
да
SarcasmIO
ты для этого маппишь чо тебе надо на паблик проперти
SarcasmIO
что бы в слушателе сделать $event->public
SarcasmIO
тут смотря что тебе нужно
SarcasmIO
ты можешь сам задать обсерверы
SarcasmIO
можешь сам задать $dispatchedEvents
SarcasmIO
можешь сам слушать eloquent events
SarcasmIO
которые она кидает
SarcasmIO
неее
SarcasmIO
я же тебе говорю прокидывай в слушателя
SarcasmIO
тип
SarcasmIO
и пользователя
SarcasmIO
инстанцируй задачу и отдавай ей
SarcasmIO
будет так:
NewUserREgister::class => [
SendMailListeners::class]
//SendMailListeners
handle()
{
try{
EmailJob::dispatch($email,$type);
}
SarcasmIO
у тебя у события newUserREgister
SarcasmIO
будет $user
SarcasmIO
тип ты определяешь сам внутри контекста
SarcasmIO
у тебя один евент
SarcasmIO
один слушатель
SarcasmIO
неважно какой тип
SarcasmIO
NewUserRegister =>
SendMailListerners::class
NotificationListeners::class
SarcasmIO
без диспатча
SarcasmIO
просто NewUserREgister
SarcasmIO
event(new UpdateWasReceived($update));
SarcasmIO
да
SarcasmIO
всм юзается
SarcasmIO
они работают с пропертями события
SarcasmIO
тобишь просто ref_count увеличивается в zval
SarcasmIO
Event::dispatch(new NewUserRegister(new Data($data))
//жобы
EmailJob::dispatch($data->email,$data->type)
NotificatioN::dispatch($data->user,$data->another
SarcasmIO
я понял тебя
SarcasmIO
загоняешься по хуйне
SarcasmIO
ты просто не правильно юзаешь события
SarcasmIO
о чем и свидетельствует дохуя пропертей
SarcasmIO
в конструкторе
SarcasmIO
тебе не нужна стратегия для событий
SarcasmIO
ок перефразирую
SarcasmIO
тебе не нужна стратегия в евенте
SarcasmIO
в котором ты отправляешь нотифы
SarcasmIO
там тупой пример недописанный бот
SarcasmIO
я не стал аплоадить с битбакета
SarcasmIO
там дохуя ветка вперед ушла
SarcasmIO
посмотри видосики в тытрубе
SarcasmIO
10 минут с докой и все
Anonymous
Да.
SarcasmIO
флоу отправка сообщения всем пользователям.
кинул евент
$users = User::all();
event(new Notification($users);
замаппил на паблик свойство
в слушателе:
foreach($event->users as $user)
SendMessageJob::dispatch($user,'hello');
}
SarcasmIO
заодно научишься в супервизор
Anonymous
Профит, например, при отправке мейлов.
SarcasmIO
потому что у телеги есть рейт лимиты
SarcasmIO
не более 30 сообщений в секунду
SarcasmIO
потому ты и диспатчишь джобы с таймаутом
SarcasmIO
а в супервизоре выставляешь сколько воркеров сколько нужно
SarcasmIO
что бы не нарушить лимиты
SarcasmIO
не нужен
Anonymous
Суть даже не в этом. Обычно обработкой джобов занимается отдельно поднятый демон. И чтобы юзер, например, при регистрации не втыкал в обновление страницы, ему говорят, что его рега обрабатывается, а мыло прибудет потом.
Демон пока прокручиват джобы и шлёт эти самые письма. Просто отправка мыла может быть довольно длительным процессом.
Хотя это не единственный профит от джобов, но самый наглядный.
Anonymous
Эм, пожалуй да :D
SarcasmIO
суть в отложенных вычислениях
SarcasmIO
ну читал как справочник когда нужно было на работе
SarcasmIO
мы пилили CQRS + DDD
SarcasmIO
с ларой в ддд не лезь
🐴
🐴
круто тебе
🐴
клизмами
Anonymous
Использовать long polling
SarcasmIO
охуенно
по итогу я убрал DDD из резюмехи.
Один раз на собесе попался тип, который прочитал Эванса страниц 150 и начал мне рассказывать, что все неправильно, а как правильно не знает.
Решил избавиться от таких диалогов на собесе, енивей никто не знает как правильно, все свои велосипеды архитектурные делают
🐴
а ты собсно че пришел-то? ищешь как себе кишку расширить?
SarcasmIO
дропайте дауна, очевидно оно пытается рофлить