Size: a a a

2020 September 25

П

Павел in Laravel UA
ок этот момент понятен. Теперь это надо передать в job?
источник

П

Павел in Laravel UA
каждый чанк?
источник

AS

Alex Sin in Laravel UA
Павел
Есть необходимость в массовой рассылке по всей таблице пользователей. Подскажите механизмы, чтобы не топорно User::all() вытягивать в память. Хотя я понимаю, что их немного будет, но для опыта интересно. Ну и связь с  google firebase messaging тоже хотелось бы отдать в очереди, чтобы не заспамить систему
я бы в этом случае запустил джобу которая йилдом будет проходиться по всем юзерам (для экономии памяти) и с каждый делать что нужно, ну или можно чанк взять
источник

П

Павел in Laravel UA
я сначала тоже думал одну джобу на все
источник

П

Павел in Laravel UA
а теперь вижу что можно одну на чанк
источник

S

Sol in Laravel UA
Если на 8-й версии - батчи попробовать можно)
источник

П

Павел in Laravel UA
или одну мастер джобу а она раскидает чанки на джобы, чтобы асинхронно работать
источник

П

Павел in Laravel UA
неее 7-ка)
источник

D

Dymon in Laravel UA
Павел
ок этот момент понятен. Теперь это надо передать в job?
нет запускаешь job , в ней выбираешь юзеров через чанки, а в колбеке пишешь нужные действия
источник

AK

Alex Kovalchuk in Laravel UA
Павел
я сначала тоже думал одну джобу на все
ну если это отправка писем можно ж письма в очереде отправлять (ток помню нас яндекс забанил за продравления с новым годом)
источник

П

Павел in Laravel UA
Alex Kovalchuk
ну если это отправка писем можно ж письма в очереде отправлять (ток помню нас яндекс забанил за продравления с новым годом)
вот и я не хочу в бан от гугла
источник

П

Павел in Laravel UA
внутри чанков можно sleep 1
источник

AK

Alex Kovalchuk in Laravel UA
Dymon
нет запускаешь job , в ней выбираешь юзеров через чанки, а в колбеке пишешь нужные действия
тогда очень большая job будет как по мне лучше в чанки кидать и обработать по 100-200
источник

MR

Maxim Rebitskiy in Laravel UA
А почему не сделать условую “пагинацию”, которая просто прокинет в очереди offset, limit, и по ним выбираешь юзеров и обрабатываешь их
источник

AS

Alex Sin in Laravel UA
Павел
или одну мастер джобу а она раскидает чанки на джобы, чтобы асинхронно работать
а разве выгоднее запускать по джобе на чанк, чем одну джобу на все?
источник

AK

Alex Kovalchuk in Laravel UA
Павел
внутри чанков можно sleep 1
тогда будет очень долго по хорошому надо сделать список юзеров (я с россылками работаю в sendpulse) там прописал касы и просто посылаю сигнал отправить письмо всем
источник

П

Павел in Laravel UA
Alex Sin
а разве выгоднее запускать по джобе на чанк, чем одну джобу на все?
все равно надо отдать назад исполнение. Собственно задача такая. Есть event по созданию модели и надо запускать джобу по нему
источник

П

Павел in Laravel UA
Поэтому и надо вернуть контроллеру время запустив джобу
источник

AK

Alex Kovalchuk in Laravel UA
Alex Sin
а разве выгоднее запускать по джобе на чанк, чем одну джобу на все?
нет, тогда джоба будет догло работать а по опыту увидел что для сервера много быстрых джобов намного легче чем один большой + риск переполнения памяти и таймаута
источник

П

Павел in Laravel UA
Maxim Rebitskiy
А почему не сделать условую “пагинацию”, которая просто прокинет в очереди offset, limit, и по ним выбираешь юзеров и обрабатываешь их
Не очень понял)
источник