twisted reactor运行后,添加了addBoth函数,但是还是无法停止
代码如下:
上面的代码是无法停止的,如果使用的是
dd.addBoth(done)
done函数的定义是没有参数的。
而使用另一个done函数带参数的done(*args,**kwargs)
是可以正常退出的,done里面写了reactor.stop() 函数
原创文章
转载请注明出处:
http://30daydo.com/article/509
from scrapy.selector import Selector
def get_response_callback(content):
txt = str(content,encoding='utf-8')
resp = Selector(text=txt)
title = resp.xpath('//title/text()').extract_first()
print(title)
@defer.inlineCallbacks
def task():
url = 'http://www.baidu.com'
d=getPage(url.encode('utf-8'))
d.addCallback(get_response_callback)
yield d
def done():
reactor.stop()
def done1(*args,**kwargs):
reactor.stop()
task_list =
for i in range(4):
d=task()
task_list.append(d)
dd = defer.DeferredList(task_list)
dd.addBoth(done)
reactor.run()
上面的代码是无法停止的,如果使用的是
dd.addBoth(done)
done函数的定义是没有参数的。
而使用另一个done函数带参数的done(*args,**kwargs)
是可以正常退出的,done里面写了reactor.stop() 函数
原创文章
转载请注明出处:
http://30daydo.com/article/509