Size: a a a

2021 July 12

AV

Alan Vb in Laravel Pro
Ну тогда кэшируешь (скажем в редис) пользователей у которых списание должно произойти сегодня, и работаешь только с кэшом, по шедулу

Плюсы: не нергаешь многомиллионную базу каждую минуту, а раз в сутки.

Минусы: надо придумать воркараунд для пользователей у которых Обнова должна произойти в промежутке 00:00:{00-03}
источник

А

Алексей in Laravel Pro
если кешировать раз в сутки нужно или механизм согласования кэша с базой делать или на эти сутки блокировать смену статуса подписки у юзера.
запретить юзеру снимать автопродление с услуги на целые сутки - немного недружественно
источник

ДТ

Дмитрий Туров... in Laravel Pro
Ну типа да, простой вариант лочить на минуту и раз в минуту продлевать всех на следующей минуте
Сложнее ставить всех на минуту в очередь и в точные секунды проверять ещё раз галку
источник

ДТ

Дмитрий Туров... in Laravel Pro
Ещё проще вариант сказать бизнесу что меньше минуты смысла нет и вообще не париться
источник

А

Алексей in Laravel Pro
в целом индекс на время, выгребаем по условию времени. не такая большая нагрузка должна быть.
записей в базу тоже не так много, так что лишний индекс не сильно помешает.
единственное что кэшпул будет забиваться левыми данными... но они вроде разовые и должны будут улетать с кэша быстро. да и не так много тех данных чтобы заботиться об их наличии в кэш пуле базы
источник

AV

Alan Vb in Laravel Pro
источник

AV

Alan Vb in Laravel Pro
источник

А

Алексей in Laravel Pro
у нас есть 100 юзеров которые должны обновиться сегодня.
мы их выкинули в редиску.
через 40 минут 2 юзера решили что тоже хотят автообновление все таки включить.
но они в редис уже не попали
источник

AV

Alan Vb in Laravel Pro
источник

AV

Alan Vb in Laravel Pro
источник

А

Алексей in Laravel Pro
есть отдельный джобсервер который занимается чисто джобами и шедулами. на нем все это добро и будет висеть
источник

А

Алексей in Laravel Pro
вариант, согласен.
источник

AV

Alan Vb in Laravel Pro
Только ещё нужен механизм проверки на случай если редис упадед к примеру
источник

А

Алексей in Laravel Pro
ай, упадет - переключусь на базу временно, делов то...
источник

А

Алексей in Laravel Pro
хотя это эребор... там кластер, а весь кластер хрен упадет
источник

AV

Alan Vb in Laravel Pro
Не, я о том что если упадет редис то ты потеряешь коллекцию техущих ожидающих пользователей, и нужем механизм восстановления
источник

AV

Alan Vb in Laravel Pro
Никогда нельзя быть уверенным на 100% :D
источник

А

Алексей in Laravel Pro
угу, я был уверен что в 6 версии дырок то уж точно не появится, сколько времени прошло, ан нет... )))
источник

AV

Alan Vb in Laravel Pro
Гыы
источник

AV

Alan Vb in Laravel Pro
Всё я побежал, надеюсь смог помочь)
источник