записи. То есть сделали инсерт, спустя день обновляем поле, спустя день еще раз и тд. Как это можно реализовать ? Была идея пихать задания в селери, но не знаю, насколько это хорошая идея, потому как этих заданий будет достаточно много.
В качестве бд использую постгрес, для которого нашел pgagent. Но я не знаю как прикрутить его к орм(алхимия), поэтому этот вариант отпадает.
PS: К бд не привязываюсь, постгрес можно заменить на что-то другое.
В чем проблема крон взять?
А он сможет выдержать несколько сотен заданий?
Откуда сотня? Ты назвал одну
Сделать поле вычисляемым по дате
Задача создается под каждого пользователя. Ему будет зачисляться каждый день на баланс n крошек хлеба. Таких пользователей может быть несколько сотен. Да, можно каждый день в 23:59 обновлять пользователям баланс, но мне неизвестно насколько это загрузит систему. Чтобы разгрузить систему, обновление баланса для каждого юзера будет производится в определенное время.
Я об этом думал. В моей задаче так не получится сделать.
Да просто стартуй раз в сутки таску, которая будет медленно с задержкой всем по очереди обновлять
То есть что-то вроде def update_task(): for id in range(len(users_table)): # тут update time.sleep(10) ?
Понял, пасиба
А где стартовать эту таску неважно (селери или хроном)?
Я бы не трогал селери только ради периодики
У тебя что? Докер, кубернетес, системд?
Ну запихни контейнер где цикл и слип внутри
чем вариант создать поле growth_rate и UPDATE users SET balance = balance + growth_rate не подошёл?
Обсуждают сегодня