Size: a a a

2021 July 12

NT

Nazar Tertyshnyi in Laravel Pro
Ну тебе же сейчас нечем заняться, раз от балды решил написать "всем доброго времени суток)"
источник

NT

Nazar Tertyshnyi in Laravel Pro
Вот и почитай.
источник

ЕП

Евгений Перин ⭐️... in Laravel Pro
блин, почему в телеге так неудобно выдавать РО, нельзя прям из сообщения юзера это сделать(
источник

DZ

Daniil Zobov in Laravel Pro
воткни бота, который будет делать это по команде
источник

А

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

брать данные на ближайший час, складывать в редис, и редис уже дергать каждую секунду? так тут нужно еще и консистентность данных держать...

вобщем поделитесь мыслями?)
источник

ПЛ

Павел Ланчев... in Laravel Pro
требования к "списание с точностью до секунды" - это жёстко прописано или просто желание? Потому что шедулер, раз в минуту дёргающий базу, выглядит самым естественныи решением
источник

А

Алексей in Laravel Pro
это "крайне желательно".
тоесть "если уж совсем никак то ок"
источник

S

Stanislav in Laravel Pro
Плюсую за шедулер. Нормально будет! 😎👍
источник

ПЛ

Павел Ланчев... in Laravel Pro
можно конечно сделать гибрид из предложенных вариантов, чекая базу раз в минуту, определяя записи с истекающим сроком и диспатча джобы с делеем (в секундах) в разницу между им и now() ... но не уверен что это сработает
источник

А

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

S

Stanislav in Laravel Pro
Помните, чем проще, тем лучше. ) А на галочку дилей повесить.
источник

А

Алексей in Laravel Pro
а нет, даже не так. шедул то 1 джобу сделает, чет я туплю
источник

А

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

А

Алексей in Laravel Pro
да, вариант что за 1-5 минут до окончания отключить смену галки...)))
источник

А

Алексей in Laravel Pro
но это немножко юзер не френдли
источник

S

Stanislav in Laravel Pro
Можно вообще за день предупреждать, что уже поздно. Авто продление будет отключено в след. месяце. С биллингом шутки плохи 😁 Лучше не давать пользователю лишнюю свободу. За неделю и за день до авто списания, письмо с уведомлением. А там пусть как хочет. 😈
источник

А

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

А

Алексей in Laravel Pro
но каким то костылем попахивает
источник

S

Stanislav in Laravel Pro
Ну если оставить пользователю свободу, он может натыкать, а потом в суд подать. Что деньги списали, а галочку он отключил. И доказывай потом обратное. По этому, всё прозрачно, за 1-3 дня до авто-продления галочку убрать нельзя. И обязательно уведомления! Что до авто-продления осталось X дней. Что бы никаких сюрпризов потом не было.

Если до даты предполагаемого списания осталось 1-3 дня, а авто продление не включено, то авто продление включается на следующий месяц.
источник

А

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