Как организовать обновление данных в базе данных
Необходимо организовать обновление профита в базе данных.
Суть в том что нужно увеличивать профит на стабильный процент каждый час у всех пользователей с балансом.
Как я понял если я запускаю простую функцию while True она выполняется в одном потоке с основным кодом и программа не работает
while True:
cursor_reward.execute(f"SELECT id FROM users")
list = cursor_reward.fetchall()
time.sleep(3600)
for row in list:
cid = row[0]
cursor_reward.execute(f"SELECT balance FROM users WHERE id = %s", [cid])
balance = cursor_reward.fetchone()[0]
if balance > 0:
payment = count_payment(cid, cursor_reward, month_percent=5)
cursor_reward.execute(f"UPDATE users SET profit = profit + %s WHERE id = %s", (payment, cid))
connection_reward.commit()
как правильно организовать программу , что-бы этот код работал на фоне основной программы