:param coro: 协程对象 :param session: 创建该Task的会话实例 :param on_coro_stop: 任务结束(正常结束或外部调用Task.close)时运行的回调
(self, coro, session: CoroutineBasedSession, on_coro_stop=None)
| 293 | return '%s-%s' % (name, random_str(10)) |
| 294 | |
| 295 | def __init__(self, coro, session: CoroutineBasedSession, on_coro_stop=None): |
| 296 | """ |
| 297 | :param coro: 协程对象 |
| 298 | :param session: 创建该Task的会话实例 |
| 299 | :param on_coro_stop: 任务结束(正常结束或外部调用Task.close)时运行的回调 |
| 300 | """ |
| 301 | self.session = session |
| 302 | self.coro = coro |
| 303 | self.result = None |
| 304 | self.task_closed = False # 任务完毕/取消 |
| 305 | self.on_coro_stop = on_coro_stop or (lambda _: None) |
| 306 | |
| 307 | self.coro_id = self.gen_coro_id(self.coro) |
| 308 | |
| 309 | self.pending_futures = {} # id(future) -> future |
| 310 | |
| 311 | logger.debug('Task[%s] created ', self.coro_id) |
| 312 | |
| 313 | def step(self, result=None, throw_exp=False): |
| 314 | """激活协程 |