Отчет об обратном вызове Python DeferredList, когда отложенные ошибки вызывают ошибку
У меня есть следующий простой скрипт:
#!/usr/bin/env python
from twisted.internet import defer
from twisted.web.client import getPage, reactor
def success(results):
print 'success'
def error(results):
print 'error'
def finished(results):
print 'finished', results
tasks = []
d = getPage('thiswontwork').addCallback(success).addErrback(error)
tasks.append(d)
dl = defer.DeferredList(tasks)
dl.addCallback(finished)
reactor.run()
Это дает следующий вывод:
error
finished [(True, None)]
Я ожидаю, что эта задача с ошибкой вернет false, поскольку задача getPages не выполняется и вызывает ее с ошибкой. Кто-нибудь может объяснить это поведение?