У меня есть celery period_task:
@periodic_task(run_every=(crontab(minute='*/1')), name="Check BTC Deposit", ignore_result=True)
def check_btc_deposit():
users = User.objects.all()
for user in users:
check_addr = subprocess.Popen(['electrum' + ' ' + 'getaddressbalance' + ' ' + user.acc_btc_addr], shell=True, stdout=subprocess.PIPE).communicate()[0].decode('utf-8').strip()
print(check_addr)
, который проверяет депозит Биткойн и возвращает следующий вывод JSON, каждую новую строку даты, например, "[2019-02-22 14: 52: 00,441: ПРЕДУПРЕЖДЕНИЕ/ ForkPoolWorker-15] "- это проверенный адрес:
[2019-02-22 14:52:00,441: WARNING/ForkPoolWorker-15] {
"confirmed": "0",
"unconfirmed": "0"
}
[2019-02-22 14:52:00,806: WARNING/ForkPoolWorker-15] {
"confirmed": "0.057917",
"unconfirmed": "0"
}
Теперь я хочу сохранить каждое изменение в базе данных для каждого связанного с ним адреса пользователя.
models.py:
class UserDepositBTC():
user_addr = models.ForeignKey(User, on_delete=models.CASCADE)
confirmed = models.IntegerField(default=0)
unconfirmed = models.IntegerField(default=0)
deposit_date = models.DateField(auto_now_add=True, null=True)
Как это сделать на задании из сельдерея?Как вы можете себе представить, это своего рода оболочка вокруг электронного кошелька BTC для создания под кошельков для каждого пользователя из MPK (Master-Public-Key).
Спасибо и BR