# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2022, Python Software Foundation # This file is distributed under the same license as the Python en Español # package. # FIRST AUTHOR , 2022. # msgid "" msgstr "" "Project-Id-Version: Python en Español 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-02-26 18:44-0300\n" "PO-Revision-Date: 2024-03-05 22:16-0500\n" "Last-Translator: Andrea ALEGRE \n" "Language: es_ES\n" "Language-Team: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.18.0\n" #: ../Doc/library/asyncio-runner.rst:6 msgid "Runners" msgstr "Runners" #: ../Doc/library/asyncio-runner.rst:8 msgid "**Source code:** :source:`Lib/asyncio/runners.py`" msgstr "**Código fuente:** :source:`Lib/asyncio/runners.py`" #: ../Doc/library/asyncio-runner.rst:11 msgid "" "This section outlines high-level asyncio primitives to run asyncio code." msgstr "" "Esta sección describe las primitivas asyncio de alto nivel para ejecutar " "código asyncio." #: ../Doc/library/asyncio-runner.rst:13 msgid "" "They are built on top of an :ref:`event loop ` with the " "aim to simplify async code usage for common wide-spread scenarios." msgstr "" "Están construidos sobre un :ref:`event loop ` con el " "objetivo de simplificar el uso de código async para escenarios comunes de " "alta difusión." #: ../Doc/library/asyncio-runner.rst:23 msgid "Running an asyncio Program" msgstr "Ejecutando un programa asyncio" #: ../Doc/library/asyncio-runner.rst:27 #, fuzzy msgid "Execute *coro* in an asyncio event loop and return the result." msgstr "Ejecutar el :term:`coroutine` *coro* y retornar el resultado." #: ../Doc/library/asyncio-runner.rst:29 ../Doc/library/asyncio-runner.rst:121 msgid "The argument can be any awaitable object." msgstr "" #: ../Doc/library/asyncio-runner.rst:31 #, fuzzy msgid "" "This function runs the awaitable, taking care of managing the asyncio event " "loop, *finalizing asynchronous generators*, and closing the executor." msgstr "" "Esta función ejecuta la co-rutina pasada, encargándose de gestionar el bucle " "de eventos asyncio, *finalizando los generadores asíncronos*, y cerrando el " "ejecutor." #: ../Doc/library/asyncio-runner.rst:35 ../Doc/library/asyncio-runner.rst:131 msgid "" "This function cannot be called when another asyncio event loop is running in " "the same thread." msgstr "" "Esta función no puede ser llamada cuando otro bucle de eventos asyncio está " "corriendo en el mismo hilo." #: ../Doc/library/asyncio-runner.rst:38 ../Doc/library/asyncio-runner.rst:97 msgid "" "If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " "disables debug mode explicitly. ``None`` is used to respect the global :ref:" "`asyncio-debug-mode` settings." msgstr "" "Si *debug* es ``True``, el bucle de eventos se ejecutará en modo depuración. " "``False`` deshabilita el modo depuración de manera explícita. ``None`` se " "usa para respetar la configuración global :ref:`asyncio-debug-mode`." #: ../Doc/library/asyncio-runner.rst:42 #, fuzzy msgid "" "If *loop_factory* is not ``None``, it is used to create a new event loop; " "otherwise :func:`asyncio.new_event_loop` is used. The loop is closed at the " "end. This function should be used as a main entry point for asyncio " "programs, and should ideally only be called once. It is recommended to use " "*loop_factory* to configure the event loop instead of policies. Passing :" "class:`asyncio.EventLoop` allows running asyncio without the policy system." msgstr "" "Si *loop_factory* no es ``None``, se utiliza para crear un nuevo bucle de " "eventos; en caso contrario se utiliza :func:`asyncio.new_event_loop`. El " "bucle se cierra al final. Esta función debería usarse como punto de entrada " "principal para los programas asyncio, e idealmente sólo debería llamarse una " "vez. Se recomienda usar *loop_factory* para configurar el bucle de eventos " "en lugar de políticas." #: ../Doc/library/asyncio-runner.rst:50 msgid "" "The executor is given a timeout duration of 5 minutes to shutdown. If the " "executor hasn't finished within that duration, a warning is emitted and the " "executor is closed." msgstr "" "Al ejecutor se le da un tiempo de espera de 5 minutos para apagarse. Si el " "ejecutor no ha finalizado en ese tiempo, se emite una advertencia y se " "cierra el ejecutor." #: ../Doc/library/asyncio-runner.rst:54 msgid "Example::" msgstr "Ejemplo::" #: ../Doc/library/asyncio-runner.rst:56 msgid "" "async def main():\n" " await asyncio.sleep(1)\n" " print('hello')\n" "\n" "asyncio.run(main())" msgstr "" #: ../Doc/library/asyncio-runner.rst:64 msgid "Updated to use :meth:`loop.shutdown_default_executor`." msgstr "Actualizado para usar :meth:`loop.shutdown_default_executor`." #: ../Doc/library/asyncio-runner.rst:69 msgid "" "*debug* is ``None`` by default to respect the global debug mode settings." msgstr "" "*debug* es ``None`` por defecto para respetar la configuración global del " "modo depuración." #: ../Doc/library/asyncio-runner.rst:73 msgid "Added *loop_factory* parameter." msgstr "Añadido el parámetro *loop_factory*." #: ../Doc/library/asyncio-runner.rst:77 ../Doc/library/asyncio-runner.rst:136 msgid "*coro* can be any awaitable object." msgstr "" #: ../Doc/library/asyncio-runner.rst:81 msgid "" "The :mod:`!asyncio` policy system is deprecated and will be removed in " "Python 3.16; from there on, an explicit *loop_factory* is needed to " "configure the event loop." msgstr "" #: ../Doc/library/asyncio-runner.rst:87 msgid "Runner context manager" msgstr "Gestor de contexto del runner" #: ../Doc/library/asyncio-runner.rst:91 msgid "" "A context manager that simplifies *multiple* async function calls in the " "same context." msgstr "" "Un gestor de contexto que simplifica *múltiples* llamadas a funciones " "asíncronas en el mismo contexto." #: ../Doc/library/asyncio-runner.rst:94 msgid "" "Sometimes several top-level async functions should be called in the same :" "ref:`event loop ` and :class:`contextvars.Context`." msgstr "" "A veces varias funciones asíncronas de alto nivel deben ser llamadas en el " "mismo :ref:`event loop ` y :class:`contextvars.Context`." #: ../Doc/library/asyncio-runner.rst:101 msgid "" "*loop_factory* could be used for overriding the loop creation. It is the " "responsibility of the *loop_factory* to set the created loop as the current " "one. By default :func:`asyncio.new_event_loop` is used and set as current " "event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``." msgstr "" "*loop_factory* puede ser usado para redefinir la creación de bucles. Es " "responsabilidad del *loop_factory* establecer el bucle creado como el " "actual. Por defecto :func:`asyncio.new_event_loop` es usado y configura el " "nuevo bucle de eventos como el actual con :func:`asyncio.set_event_loop` si " "*loop_factory* es ``None``." #: ../Doc/library/asyncio-runner.rst:106 #, fuzzy msgid "" "Basically, :func:`asyncio.run` example can be rewritten with the runner " "usage::" msgstr "" "Básicamente, el ejemplo :func:`asyncio.run()` puede ser re-escrito usando el " "ejecutor::" #: ../Doc/library/asyncio-runner.rst:108 msgid "" "async def main():\n" " await asyncio.sleep(1)\n" " print('hello')\n" "\n" "with asyncio.Runner() as runner:\n" " runner.run(main())" msgstr "" #: ../Doc/library/asyncio-runner.rst:119 #, fuzzy msgid "Execute *coro* in the embedded event loop." msgstr "" "Ejecuta una :term:`co-rutina ` *coro* en el bucle incrustado." #: ../Doc/library/asyncio-runner.rst:123 msgid "If the argument is a coroutine, it is wrapped in a Task." msgstr "" #: ../Doc/library/asyncio-runner.rst:125 #, fuzzy msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the code to run in. The runner's default " "context is used if context is ``None``." msgstr "" "Un argumento opcional del *context* que consiste en una palabra clave " "permite especificar un :class:`contextvars.Context` personalizado donde " "correr la *coro* . El contexto por defecto del ejecutor es usado si el modo " "debug es ``None``." # más info sobre el origen de la excepción #: ../Doc/library/asyncio-runner.rst:129 #, fuzzy msgid "Returns the awaitable's result or raises an exception." msgstr "" "Retorna el resultado de la co-rutina o lanza excepción de dicha co-rutina." #: ../Doc/library/asyncio-runner.rst:140 msgid "Close the runner." msgstr "Cierra el runner." #: ../Doc/library/asyncio-runner.rst:142 msgid "" "Finalize asynchronous generators, shutdown default executor, close the event " "loop and release embedded :class:`contextvars.Context`." msgstr "" "Termina los generadores asíncronos, apaga el ejecutor por defecto, cierra el " "bucle de eventos y libera el :class:`contextvars.Context` embebido." #: ../Doc/library/asyncio-runner.rst:147 msgid "Return the event loop associated with the runner instance." msgstr "Retorna el bucle de eventos asociado a la instancia del runner." #: ../Doc/library/asyncio-runner.rst:151 msgid "" ":class:`Runner` uses the lazy initialization strategy, its constructor " "doesn't initialize underlying low-level structures." msgstr "" ":class:`Runner` usa una estrategia de inicialización perezosa, su " "constructor no inicializa las estructuras de bajo nivel subyacentes." #: ../Doc/library/asyncio-runner.rst:154 msgid "" "Embedded *loop* and *context* are created at the :keyword:`with` body " "entering or the first call of :meth:`run` or :meth:`get_loop`." msgstr "" "El *loop* y el *context* embebidos son creados al entrar al cuerpo :keyword:" "`with` o en la primera llamada a :meth:`run` o a :meth:`get_loop`." #: ../Doc/library/asyncio-runner.rst:159 msgid "Handling Keyboard Interruption" msgstr "Manejando interrupciones de teclado" # Oración muy poco clara, incluso en inglés=> adaptación para que sea más # comprensible #: ../Doc/library/asyncio-runner.rst:163 msgid "" "When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, :exc:" "`KeyboardInterrupt` exception is raised in the main thread by default. " "However this doesn't work with :mod:`asyncio` because it can interrupt " "asyncio internals and can hang the program from exiting." msgstr "" "Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, la excepción :" "exc:`KeyboardInterrupt` es lanzada en el hilo principal por defecto. Sin " "embargo, esto no funciona con :mod:`asyncio` porque puede interrumpir las " "funciones internas a asyncio e impedir la salida del programa." #: ../Doc/library/asyncio-runner.rst:168 msgid "" "To mitigate this issue, :mod:`asyncio` handles :const:`signal.SIGINT` as " "follows:" msgstr "" "Para mitigar este problema, :mod:`asyncio` maneja :const:`signal.SIGINT` de " "la siguiente forma:" #: ../Doc/library/asyncio-runner.rst:170 msgid "" ":meth:`asyncio.Runner.run` installs a custom :const:`signal.SIGINT` handler " "before any user code is executed and removes it when exiting from the " "function." msgstr "" ":meth:`asyncio.Runner.run` instala un administrador :const:`signal.SIGINT` " "personalizado antes que cualquier código de usuario sea ejecutado y lo " "remueve a la salida de la función." #: ../Doc/library/asyncio-runner.rst:172 msgid "" "The :class:`~asyncio.Runner` creates the main task for the passed coroutine " "for its execution." msgstr "" "La :class:`~asyncio.Runner` crea la tarea principal que será pasada a la co-" "rutina para su ejecución." #: ../Doc/library/asyncio-runner.rst:174 msgid "" "When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal " "handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " "raises :exc:`asyncio.CancelledError` inside the main task. This causes the " "Python stack to unwind, ``try/except`` and ``try/finally`` blocks can be " "used for resource cleanup. After the main task is cancelled, :meth:`asyncio." "Runner.run` raises :exc:`KeyboardInterrupt`." msgstr "" "Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, el administrador " "de señales personalizado cancela la tarea principal llamando a :meth:" "`asyncio.Task.cancel` que lanza :exc:`asyncio.CancelledError` dentro de la " "tarea principal. Esto hace que la pila de Python se desenrolle, los bloques " "``try/except`` y ``try/finally`` se pueden utilizar para la limpieza de " "recursos. Luego que la tarea principal es cancelada, :meth:`asyncio.Runner." "run` lanza :exc:`KeyboardInterrupt`." #: ../Doc/library/asyncio-runner.rst:180 msgid "" "A user could write a tight loop which cannot be interrupted by :meth:" "`asyncio.Task.cancel`, in which case the second following :kbd:`Ctrl-C` " "immediately raises the :exc:`KeyboardInterrupt` without cancelling the main " "task." msgstr "" "Un usuario podría escribir un bucle cerrado que no puede ser interrumpido " "por :meth:`asyncio.Task.cancel`, en cuyo caso la segunda llamada a :kbd:" "`Ctrl-C` lanza inmediatamente :exc:`KeyboardInterrupt` sin cancelar la tarea " "principal."