Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python RuntimeError:从不在任务中调用result.get()_Python_Django_Celery - Fatal编程技术网

Python RuntimeError:从不在任务中调用result.get()

Python RuntimeError:从不在任务中调用result.get(),python,django,celery,Python,Django,Celery,我的任务(检查Sberbank中的付款状态。如果没有捕获-重试检查): 来自…celeryconf导入应用程序 从…起将客户端导入为sberbank 从…模型进口付款,交易 @应用程序任务(绑定=True,默认重试延时=60,时间限制=1200) def检查状态sberbank任务(自身、订单id、连接参数): sberbank_client=sberbank.client(auth=(连接参数['login'],连接参数['password']), 沙盒=连接参数['sandbox\u mod

我的任务(检查Sberbank中的付款状态。如果没有捕获-重试检查):

来自…celeryconf导入应用程序
从…起将客户端导入为sberbank
从…模型进口付款,交易
@应用程序任务(绑定=True,默认重试延时=60,时间限制=1200)
def检查状态sberbank任务(自身、订单id、连接参数):
sberbank_client=sberbank.client(auth=(连接参数['login'],连接参数['password']),
沙盒=连接参数['sandbox\u mode'])
response=sberbank\U client.payment.get\U status(订单号=订单号)
txn=Transaction.objects.get(token=order\u id)
如果响应['actionCode']==0:
txn.is_success=True
txn.save()
payment=payment.objects.get(pk=txn.payment\u id)
payment.charge\u状态='已完全充电'
payment.captured\u amount=payment.total
payment.save()
返回“+str(订单id)”的“Sberbank成功付款”
其他:
重试(倒计时=60)
在日志文件中,我有:

错误celery.app.trace任务 销售.付款.网关.储蓄银行.任务.检查储蓄银行任务状态[bb384815-4a5b-49d7-bc29-114707f072b1] 引发意外错误:RuntimeError('在 任务!\n查看 ) [PID:26869:Thread-825]

回溯(最近一次调用上次):文件 “/home/korolev/saleor/lib/python3.6/site packages/芹菜/app/trace.py”, 第385行,在跟踪任务中 R=retval=fun(*args,**kwargs)文件“/home/korolev/saleor/saleor/payment/gateways/sberbank/tasks.py”,第行 26,在检查状态任务中 self.retry(倒计时=60)文件“/home/korolev/saleor/lib/python3.6/site packages/芹菜/app/task.py”, 第715行,在重试中 S.apply().get()文件“/home/korolev/saleor/lib/python3.6/site packages/芹菜/result.py”, 第1015行,输入get assert_will_not_block()文件“/home/korolev/saleor/lib/python3.6/site packages/芹菜/result.py”, 第41行,在断言中\u将\u不\u块 引发运行时错误(E_WOULDBLOCK)

RuntimeError:从不在任务中调用result.get()!看见


如何修复此错误?

如果您提供了默认重试时间,请删除else部分,然后重试。如果响应['actionCode']>0,60秒后将不会调用该任务