我有一个芹菜周期任务:
@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(主-公共-密钥)为每个用户创建子钱包。
感谢和BR