Как правильно менять значение в БД через n времени?
к примеру есть
таблица
//Здесь нужно увеличить число "number" на percent от суммы
"number" (100/100)* 1,8 = 1,8+100 = 101,8 через 3 дня
так как истекает он через 3 дня 2023-02-09 16:57:38 для первой записи
и так для каждой
//Counts
id number percent created_at expires_at
1 100 1.8 023-02-06 16:57:38 2023-02-09 16:57:38
2 350 8.2 023-02-06 16:57:38 2023-02-13 16:57:38
3 500 8.2 023-02-06 16:57:38
//в другом случае
//Counts
id number percent created_at expires_at
3 500 8.2 023-02-06 16:57:38
Если expires_at пусто, то "number" увеличивать просто на percent
каждый день пока number не будет равно 1000
т.е в 2 раза
Ответы (1 шт):
Автор решения: Данил Колоколов
→ Ссылка
Запускайте
Либо cron
* */1 * * * root /bin/sh /etc/blabla.sh это расписание на каждый час
Либо демона
while(true) {
тут ваш код по обновлению таблиц в бд...
sleep(60*60);
}
Либо ивенты https://habr.com/ru/post/123391/