Python asyncio.get_event_loop_policy() Examples
The following are 30
code examples of asyncio.get_event_loop_policy().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
asyncio
, or try the search function
.
Example #1
Source File: conftest.py From DjangoChannelsGraphqlWs with MIT License | 7 votes |
def event_loop(request): """Overwrite `pytest_asyncio` eventloop to fix Windows issue. Default implementation causes `NotImplementedError` on Windows with Python 3.8, because they changed default eventloop in 3.8. NOTE: We do the same thing in the `example/settings.py` because it imports (and fails) before we have a chance to invoke this fixture. So, we could avoid adding this fixture, but I feel it is better to keep the proper solution here as well. """ if sys.platform == "win32" and sys.version_info.minor >= 8: asyncio.set_event_loop_policy( asyncio.WindowsSelectorEventLoopPolicy() # pylint: disable=no-member ) loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #2
Source File: conftest.py From guy with Apache License 2.0 | 6 votes |
def runner(request): def _( ga, **kargs ): time.sleep(0.5) # leave the time to shutdown previous instance if request.param=="serve": return getattr(ga,request.param)(port=10000) else: return getattr(ga,request.param)(**kargs) return _ # @pytest.yield_fixture(scope='session') # def event_loop(request): # """Create an instance of the default event loop for each test case.""" # loop = asyncio.get_event_loop_policy().new_event_loop() # yield loop # loop.close()
Example #3
Source File: test_runner.py From asphalt with Apache License 2.0 | 6 votes |
def test_event_loop_policy(caplog, policy, policy_name): """Test that a the runner switches to a different event loop policy when instructed to.""" caplog.set_level(logging.INFO) component = ShutdownComponent() old_policy = asyncio.get_event_loop_policy() try: run_application(component, event_loop_policy=policy) except DistributionNotFound as e: pytest.skip(str(e)) finally: asyncio.set_event_loop_policy(old_policy) records = [record for record in caplog.records if record.name == 'asphalt.core.runner'] assert len(records) == 6 assert records[0].message == 'Running in development mode' assert records[1].message == 'Switched event loop policy to %s' % policy_name assert records[2].message == 'Starting application' assert records[3].message == 'Application started' assert records[4].message == 'Stopping application' assert records[5].message == 'Application stopped'
Example #4
Source File: test_events.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_get_event_loop_returns_running_loop(self): class Policy(asyncio.DefaultEventLoopPolicy): def get_event_loop(self): raise NotImplementedError loop = None old_policy = asyncio.get_event_loop_policy() try: asyncio.set_event_loop_policy(Policy()) loop = asyncio.new_event_loop() self.assertIs(asyncio._get_running_loop(), None) async def func(): self.assertIs(asyncio.get_event_loop(), loop) self.assertIs(asyncio._get_running_loop(), loop) loop.run_until_complete(func()) finally: asyncio.set_event_loop_policy(old_policy) if loop is not None: loop.close() self.assertIs(asyncio._get_running_loop(), None)
Example #5
Source File: conftest.py From threema-msgapi-sdk-python with MIT License | 6 votes |
def event_loop(request): """ Create an instance of the requested event loop. """ default_event_loop(request=request) # Close previous event loop policy = asyncio.get_event_loop_policy() policy.get_event_loop().close() # Create new event loop _event_loop = policy.new_event_loop() policy.set_event_loop(_event_loop) def fin(): _event_loop.close() # Add finaliser and return new event loop request.addfinalizer(fin) return _event_loop
Example #6
Source File: _patch.py From quart with MIT License | 6 votes |
def _patch_asyncio() -> None: # This patches asyncio to add a sync_wait method to the event # loop. This method can then be called from within a task # including a synchronous function called from a task. Sadly it # requires the python Task and Future implementations, which # invokes some performance cost. asyncio.Task = asyncio.tasks._CTask = asyncio.tasks.Task = asyncio.tasks._PyTask # type: ignore asyncio.Future = ( # type: ignore asyncio.futures._CFuture # type: ignore ) = asyncio.futures.Future = asyncio.futures._PyFuture # type: ignore # noqa current_policy = asyncio.get_event_loop_policy() if hasattr(asyncio, "unix_events"): target_policy = asyncio.unix_events._UnixDefaultEventLoopPolicy else: target_policy = object # type: ignore if not isinstance(current_policy, target_policy): raise RuntimeError("Flask Patching only works with the default event loop policy") _patch_loop() _patch_task()
Example #7
Source File: serve.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def _init_asyncio_patch(): """ Select compatible event loop for Tornado 5+. As of Python 3.8, the default event loop on Windows is `proactor`, however Tornado requires the old default "selector" event loop. As Tornado has decided to leave this to users to set, MkDocs needs to set it. See https://github.com/tornadoweb/tornado/issues/2608. """ if sys.platform.startswith("win") and sys.version_info >= (3, 8): import asyncio try: from asyncio import WindowsSelectorEventLoopPolicy except ImportError: pass # Can't assign a policy which doesn't exist. else: if not isinstance(asyncio.get_event_loop_policy(), WindowsSelectorEventLoopPolicy): asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())
Example #8
Source File: componentmanager.py From lbry-sdk with MIT License | 6 votes |
def __init__(self, conf: Config, analytics_manager=None, skip_components=None, peer_manager=None, **override_components): self.conf = conf self.skip_components = skip_components or [] self.loop = asyncio.get_event_loop() self.analytics_manager = analytics_manager self.component_classes = {} self.components = set() self.started = asyncio.Event(loop=self.loop) self.peer_manager = peer_manager or PeerManager(asyncio.get_event_loop_policy().get_event_loop()) for component_name, component_class in self.default_component_classes.items(): if component_name in override_components: component_class = override_components.pop(component_name) if component_name not in self.skip_components: self.component_classes[component_name] = component_class if override_components: raise SyntaxError("unexpected components: %s" % override_components) for component_class in self.component_classes.values(): self.components.add(component_class(self))
Example #9
Source File: conftest.py From elasticmagic with Apache License 2.0 | 6 votes |
def event_loop(request): """Create an instance of the default event loop for each test case. Also catches all warnings and raises exception if there was 'coroutine was never awaited' wargning. """ loop = asyncio.get_event_loop_policy().new_event_loop() with warnings.catch_warnings(record=True) as catched_warnings: yield loop # Collecting garbage should trigger warning for non-awaited coroutines gc.collect() for w in catched_warnings: if ( isinstance(w.message, RuntimeWarning) and str(w.message).endswith('was never awaited') ): raise w.message else: warnings.showwarning(w.message, w.category, w.filename, w.lineno) loop.close()
Example #10
Source File: app.py From TabPy with MIT License | 6 votes |
def _init_asyncio_patch(): """ Select compatible event loop for Tornado 5+. As of Python 3.8, the default event loop on Windows is `proactor`, however Tornado requires the old default "selector" event loop. As Tornado has decided to leave this to users to set, MkDocs needs to set it. See https://github.com/tornadoweb/tornado/issues/2608. """ if sys.platform.startswith("win") and sys.version_info >= (3, 8): import asyncio try: from asyncio import WindowsSelectorEventLoopPolicy except ImportError: pass # Can't assign a policy which doesn't exist. else: if not isinstance(asyncio.get_event_loop_policy(), WindowsSelectorEventLoopPolicy): asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())
Example #11
Source File: serve.py From mkdocs with BSD 2-Clause "Simplified" License | 6 votes |
def _init_asyncio_patch(): """ Select compatible event loop for Tornado 5+. As of Python 3.8, the default event loop on Windows is `proactor`, however Tornado requires the old default "selector" event loop. As Tornado has decided to leave this to users to set, MkDocs needs to set it. See https://github.com/tornadoweb/tornado/issues/2608. """ if sys.platform.startswith("win") and sys.version_info >= (3, 8): import asyncio try: from asyncio import WindowsSelectorEventLoopPolicy except ImportError: pass # Can't assign a policy which doesn't exist. else: if not isinstance(asyncio.get_event_loop_policy(), WindowsSelectorEventLoopPolicy): asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())
Example #12
Source File: conftest.py From saltyrtc-server-python with MIT License | 6 votes |
def event_loop(request): """ Create an instance of the requested event loop. """ default_event_loop(request=request) # Close previous event loop policy = asyncio.get_event_loop_policy() policy.get_event_loop().close() # Create new event loop _event_loop = policy.new_event_loop() policy.set_event_loop(_event_loop) def fin(): _event_loop.close() # Add finaliser and return new event loop request.addfinalizer(fin) return _event_loop
Example #13
Source File: test_black.py From black with MIT License | 5 votes |
def event_loop() -> Iterator[None]: policy = asyncio.get_event_loop_policy() loop = policy.new_event_loop() asyncio.set_event_loop(loop) try: yield finally: loop.close()
Example #14
Source File: test_subprocess.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def setUp(self): super().setUp() policy = asyncio.get_event_loop_policy() self.loop = policy.new_event_loop() self.set_event_loop(self.loop) watcher = self.Watcher() watcher.attach_loop(self.loop) policy.set_child_watcher(watcher) self.addCleanup(policy.set_child_watcher, None)
Example #15
Source File: test_events.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_handle_source_traceback(self): loop = asyncio.get_event_loop_policy().new_event_loop() loop.set_debug(True) self.set_event_loop(loop) def check_source_traceback(h): lineno = sys._getframe(1).f_lineno - 1 self.assertIsInstance(h._source_traceback, list) self.assertEqual(h._source_traceback[-1][:3], (__file__, lineno, 'test_handle_source_traceback')) # call_soon h = loop.call_soon(noop) check_source_traceback(h) # call_soon_threadsafe h = loop.call_soon_threadsafe(noop) check_source_traceback(h) # call_later h = loop.call_later(0, noop) check_source_traceback(h) # call_at h = loop.call_later(0, noop) check_source_traceback(h)
Example #16
Source File: asyncio_test.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def setUp(self): # Trigger a cleanup of the mapping so we start with a clean slate. AsyncIOLoop().close() # If we don't clean up after ourselves other tests may fail on # py34. self.orig_policy = asyncio.get_event_loop_policy() asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())
Example #17
Source File: conftest.py From bigchaindb with Apache License 2.0 | 5 votes |
def event_loop(): import asyncio loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #18
Source File: conftest.py From aiozipkin with Apache License 2.0 | 5 votes |
def event_loop(): asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy()) loop = asyncio.get_event_loop_policy().new_event_loop() yield loop gc.collect() loop.close()
Example #19
Source File: __main__.py From socialscan with Mozilla Public License 2.0 | 5 votes |
def main(): # To avoid 'Event loop is closed' RuntimeError due to compatibility issue with aiohttp if sys.platform.startswith("win") and sys.version_info >= (3, 8): try: from asyncio import WindowsSelectorEventLoopPolicy except ImportError: pass else: if not isinstance(asyncio.get_event_loop_policy(), WindowsSelectorEventLoopPolicy): asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy()) if sys.version_info >= (3, 7): asyncio.run(cli.main()) else: loop = asyncio.get_event_loop() loop.run_until_complete(cli.main())
Example #20
Source File: test_subprocess.py From android_universal with MIT License | 5 votes |
def setUp(self): super().setUp() policy = asyncio.get_event_loop_policy() self.loop = policy.new_event_loop() self.set_event_loop(self.loop) watcher = self.Watcher() watcher.attach_loop(self.loop) policy.set_child_watcher(watcher) self.addCleanup(policy.set_child_watcher, None)
Example #21
Source File: test_file_result.py From gain with GNU General Public License v3.0 | 5 votes |
def test_file_result(): test_file = "spider.data" url = "file:///{}".format(test_file) f = FileResult(url) test_str = "test_str" policy = asyncio.get_event_loop_policy() loop = policy.new_event_loop() # loop = asyncio.get_event_loop() asyncio.set_event_loop(loop) loop.run_until_complete(f.save(test_str)) with open(test_file, 'r+') as test_file: assert test_file.read() == test_str + "\n" if os.path.exists(url): os.remove(url)
Example #22
Source File: conftest.py From Decentralized-Internet with MIT License | 5 votes |
def event_loop(): import asyncio loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #23
Source File: test_async_fixtures_with_finalizer.py From pytest-asyncio with Apache License 2.0 | 5 votes |
def event_loop(): """Change event_loop fixture to module level.""" policy = asyncio.get_event_loop_policy() loop = policy.new_event_loop() yield loop loop.close()
Example #24
Source File: conftest.py From rasa-for-botfront with Apache License 2.0 | 5 votes |
def event_loop(request: Request) -> Iterator[asyncio.AbstractEventLoop]: loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #25
Source File: conftest.py From rasa-for-botfront with Apache License 2.0 | 5 votes |
def event_loop(request: Request) -> Iterator[asyncio.AbstractEventLoop]: loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #26
Source File: test_evaluation.py From rasa-for-botfront with Apache License 2.0 | 5 votes |
def event_loop(request: Request) -> Iterator[asyncio.AbstractEventLoop]: loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #27
Source File: conftest.py From web3.py with MIT License | 5 votes |
def event_loop(request): loop = asyncio.get_event_loop_policy().new_event_loop() yield loop loop.close()
Example #28
Source File: test_events.py From annotated-py-projects with MIT License | 5 votes |
def test_set_event_loop_policy(self): self.assertRaises( AssertionError, asyncio.set_event_loop_policy, object()) old_policy = asyncio.get_event_loop_policy() policy = asyncio.DefaultEventLoopPolicy() asyncio.set_event_loop_policy(policy) self.assertIs(policy, asyncio.get_event_loop_policy()) self.assertIsNot(policy, old_policy)
Example #29
Source File: test_events.py From annotated-py-projects with MIT License | 5 votes |
def test_get_event_loop_policy(self): policy = asyncio.get_event_loop_policy() self.assertIsInstance(policy, asyncio.AbstractEventLoopPolicy) self.assertIs(policy, asyncio.get_event_loop_policy())
Example #30
Source File: test_events.py From annotated-py-projects with MIT License | 5 votes |
def test_handle_source_traceback(self): loop = asyncio.get_event_loop_policy().new_event_loop() loop.set_debug(True) self.set_event_loop(loop) def check_source_traceback(h): lineno = sys._getframe(1).f_lineno - 1 self.assertIsInstance(h._source_traceback, list) self.assertEqual(h._source_traceback[-1][:3], (__file__, lineno, 'test_handle_source_traceback')) # call_soon h = loop.call_soon(noop) check_source_traceback(h) # call_soon_threadsafe h = loop.call_soon_threadsafe(noop) check_source_traceback(h) # call_later h = loop.call_later(0, noop) check_source_traceback(h) # call_at h = loop.call_later(0, noop) check_source_traceback(h)