爬虫日记(81):Twisted的线程池使用
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(81):Twisted的线程池使用相关的知识,希望对你有一定的参考价值。
为了尽快熟悉scrapy的代码,先来抽取里面的一个循环调度的类出来测试一下,这个类实现对回调函数的封装。整个例子的代码如下:
#爬虫日记-蔡军生(qq:9073204)
#https://mysoft.blog.csdn.net/
#2021-05-24
from twisted.internet import task
from twisted.internet import reactor
from twisted.internet import defer
class CallLaterOnce:
"""Schedule a function to be called in the next reactor loop, but only if
it hasn\'t been already scheduled since the last time it ran.
"""
def __init__(self, func, *a, **kw):
self._func = func
self._a = a
self._kw = kw
self._call = None
def schedule(self, delay=0):
from twisted.internet import reactor
if self._call is None:
self._call = reactor.callLater(delay, self)
def cancel(self):
if self._call:
self._call.cancel()
def __call__(self):
sel
以上是关于爬虫日记(81):Twisted的线程池使用的主要内容,如果未能解决你的问题,请参考以下文章