Как организовать обновление данных в базе данных

Необходимо организовать обновление профита в базе данных.

Суть в том что нужно увеличивать профит на стабильный процент каждый час у всех пользователей с балансом.
Как я понял если я запускаю простую функцию 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()

как правильно организовать программу , что-бы этот код работал на фоне основной программы


Ответы (0 шт):