Downloader.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:stash-scanner 作者: senuido 项目源码 文件源码
def __init__(self, start_id, conns=2, skip_timeout=120):
        Thread.__init__(self)
        self.m = pycurl.CurlMulti()

        self.handles = [self._create_handle() for i in range(conns)]
        self.free_handles = list(self.handles)
        self.last_request = None

        self.skip_ahead = False
        self.skip_timeout = skip_timeout
        self.dl_deltas = deque(maxlen=10)

        self.req_time = deque(maxlen=20)
        self.queue_time = deque(maxlen=20)
        self.peek_time = deque(maxlen=20)
        self.req_delay_time = deque(maxlen=20)

        self.stat_thread = Thread(target=self.calc_stat)
        self.dps = deque(maxlen=60)
        self.delta_lock = Lock()
        self.delta_count = 0

        # queue for requests so we can ensure a delay between each request
        # use a list instead of an actual queue to be able to choose min ID
        self.req_queue = []
        self.req_queue_lock = Lock()

        # requests by order
        self.requests = []
        self.requests_lock = Lock()

        self.res_queue = Queue(maxsize=RES_QUEUE_MAXSIZE)
        self.evt_stop = Event()

        self.add_request(start_id)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号