Ale*_*exW 7 python logging celery
使用 celery 4.4.2,我有一组连接到远程设备并收集数据的任务,完成后整理结果,然后通过电子邮件发送回调任务。
然而,如果收集远程设备之一的数据失败,则回叫也会失败。我读过使用 link_error 应该可以解决这个问题,但我不确定我的实现,我已经执行了下面的但它仍然失败
for device in device_ids:
task_count +=1
tasks.append(config_auth.s(device.id, device.hostname, device.get_scripts_ip()))
callback = email_auth_results.s().set(link_error=error_handler.s())
tasks = group(tasks)
r = chord(tasks)(callback)
return '{} tasks sent to queue'.format(task_count)
@app.task
def error_handler(uuid):
result = AsyncResult(uuid)
exc = result.get(propagate=False)
print('Task {0} raised exception: {1!r}\n{2!r}'.format(
uuid, exc, result.traceback))
Run Code Online (Sandbox Code Playgroud)
原始错误:
celery.exceptions.ChordError: Dependency 5ffc10c9-edc7-4b91-a660-08c372c60ab2 raised NetmikoTimeoutException('Connection to device timed-out')
Run Code Online (Sandbox Code Playgroud)
我仍然想记录任务失败,以便我可以看到花中的失败,但我想忽略失败或附加结果,所以他们只是说失败,我可以在电子邮件结果中看到它
谢谢
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |