timeout.py 文件源码

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

项目:aioworkers 作者: aioworkers 项目源码 文件源码
def get(self, score=False):
        waiter = self.loop.create_future()
        if self._queue:
            timestamp, value = heapq.nsmallest(1, self._queue)[0]
            if time.time() >= timestamp:
                ts, value = heapq.heappop(self._queue)
                if score:
                    waiter.set_result((value, ts))
                else:
                    waiter.set_result(value)
                return waiter
            if not self._future or self._future.done():
                self._future = self.loop.create_task(self._timer())
        self._waiters.append((score, waiter))
        return waiter
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号