def __init__(self,
*,
config: Config,
loop: asyncio.BaseEventLoop=_init_loop(),
show_progress: bool=True):
self.config = config
self.show_progress = show_progress
db_engine = create_engine(f'sqlite:///{config.config_dir/config.db_name}')
ModelBase.metadata.create_all(db_engine)
self.db = sessionmaker(bind=db_engine)()
self.client = ClientSession(connector=TCPConnector(limit_per_host=10, loop=loop),
headers={'User-Agent': _UA_STRING}, loop=loop)
self.resolvers = {n: r(manager=self)
for n, r in BaseResolver.__members__.items()}
self.runner = _Runner(self)
self._loop = loop
self._resolver_lock = asyncio.Lock(loop=loop)
self._tpes = [ThreadPoolExecutor(max_workers=1), ThreadPoolExecutor(max_workers=1)]
评论列表
文章目录