Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python37/lib64/python3.7/asyncio/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python37/lib64/python3.7/asyncio/runners.py
__all__ = 'run',

from . import coroutines
from . import events
from . import tasks


def run(main, *, debug=False):
    """Execute the coroutine and return the result.

    This function runs the passed coroutine, taking care of
    managing the asyncio event loop and finalizing asynchronous
    generators.

    This function cannot be called when another asyncio event loop is
    running in the same thread.

    If debug is True, the event loop will be run in debug mode.

    This function always creates a new event loop and closes it at the end.
    It should be used as a main entry point for asyncio programs, and should
    ideally only be called once.

    Example:

        async def main():
            await asyncio.sleep(1)
            print('hello')

        asyncio.run(main())
    """
    if events._get_running_loop() is not None:
        raise RuntimeError(
            "asyncio.run() cannot be called from a running event loop")

    if not coroutines.iscoroutine(main):
        raise ValueError("a coroutine was expected, got {!r}".format(main))

    loop = events.new_event_loop()
    try:
        events.set_event_loop(loop)
        loop.set_debug(debug)
        return loop.run_until_complete(main)
    finally:
        try:
            _cancel_all_tasks(loop)
            loop.run_until_complete(loop.shutdown_asyncgens())
        finally:
            events.set_event_loop(None)
            loop.close()


def _cancel_all_tasks(loop):
    to_cancel = tasks.all_tasks(loop)
    if not to_cancel:
        return

    for task in to_cancel:
        task.cancel()

    loop.run_until_complete(
        tasks.gather(*to_cancel, loop=loop, return_exceptions=True))

    for task in to_cancel:
        if task.cancelled():
            continue
        if task.exception() is not None:
            loop.call_exception_handler({
                'message': 'unhandled exception during asyncio.run() shutdown',
                'exception': task.exception(),
                'task': task,
            })
Name
Size
Permissions
Options
__pycache__
--
drwxr-xr-x
__init__.py
1.142 KB
-rw-r--r--
base_events.py
68.193 KB
-rw-r--r--
base_futures.py
2.032 KB
-rw-r--r--
base_subprocess.py
8.58 KB
-rw-r--r--
base_tasks.py
2.107 KB
-rw-r--r--
constants.py
0.867 KB
-rw-r--r--
coroutines.py
8.409 KB
-rw-r--r--
events.py
25.605 KB
-rw-r--r--
format_helpers.py
2.348 KB
-rw-r--r--
futures.py
12.522 KB
-rw-r--r--
locks.py
15.54 KB
-rw-r--r--
log.py
0.121 KB
-rw-r--r--
proactor_events.py
25.052 KB
-rw-r--r--
protocols.py
6.871 KB
-rw-r--r--
queues.py
7.815 KB
-rw-r--r--
runners.py
1.974 KB
-rw-r--r--
selector_events.py
36.785 KB
-rw-r--r--
sslproto.py
26.296 KB
-rw-r--r--
streams.py
24.011 KB
-rw-r--r--
subprocess.py
7.084 KB
-rw-r--r--
tasks.py
29.984 KB
-rw-r--r--
transports.py
9.885 KB
-rw-r--r--
unix_events.py
39.961 KB
-rw-r--r--
windows_events.py
29.508 KB
-rw-r--r--
windows_utils.py
4.954 KB
-rw-r--r--