Shutdown and close event loop.
(self)
| 63 | self.close() |
| 64 | |
| 65 | def close(self): |
| 66 | """Shutdown and close event loop.""" |
| 67 | if self._state is not _State.INITIALIZED: |
| 68 | return |
| 69 | try: |
| 70 | loop = self._loop |
| 71 | _cancel_all_tasks(loop) |
| 72 | loop.run_until_complete(loop.shutdown_asyncgens()) |
| 73 | loop.run_until_complete( |
| 74 | loop.shutdown_default_executor(constants.THREAD_JOIN_TIMEOUT)) |
| 75 | finally: |
| 76 | if self._set_event_loop: |
| 77 | events.set_event_loop(None) |
| 78 | loop.close() |
| 79 | self._loop = None |
| 80 | self._state = _State.CLOSED |
| 81 | |
| 82 | def get_loop(self): |
| 83 | """Return embedded event loop.""" |