# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-04 11:33+0200\n" "PO-Revision-Date: 2018-11-29 18:26+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/asyncio-policy.rst:8 msgid "Policies" msgstr "" #: ../Doc/library/asyncio-policy.rst:10 msgid "" "An event loop policy is a global per-process object that controls the " "management of the event loop. Each event loop has a default policy, which " "can be changed and customized using the policy API." msgstr "" #: ../Doc/library/asyncio-policy.rst:14 msgid "" "A policy defines the notion of *context* and manages a separate event loop " "per context. The default policy defines *context* to be the current thread." msgstr "" #: ../Doc/library/asyncio-policy.rst:18 msgid "" "By using a custom event loop policy, the behavior of :func:" "`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop` " "functions can be customized." msgstr "" #: ../Doc/library/asyncio-policy.rst:22 msgid "" "Policy objects should implement the APIs defined in the :class:" "`AbstractEventLoopPolicy` abstract base class." msgstr "" #: ../Doc/library/asyncio-policy.rst:27 msgid "Getting and Setting the Policy" msgstr "" #: ../Doc/library/asyncio-policy.rst:29 msgid "" "The following functions can be used to get and set the policy for the " "current process:" msgstr "" #: ../Doc/library/asyncio-policy.rst:34 msgid "Return the current process-wide policy." msgstr "" #: ../Doc/library/asyncio-policy.rst:38 msgid "Set the current process-wide policy to *policy*." msgstr "" #: ../Doc/library/asyncio-policy.rst:40 msgid "If *policy* is set to ``None``, the default policy is restored." msgstr "" #: ../Doc/library/asyncio-policy.rst:44 msgid "Policy Objects" msgstr "" #: ../Doc/library/asyncio-policy.rst:46 msgid "The abstract event loop policy base class is defined as follows:" msgstr "" #: ../Doc/library/asyncio-policy.rst:50 msgid "An abstract base class for asyncio policies." msgstr "" #: ../Doc/library/asyncio-policy.rst:54 msgid "Get the event loop for the current context." msgstr "Récupère la boucle d'évènements pour le contexte actuel." #: ../Doc/library/asyncio-policy.rst:56 msgid "" "Return an event loop object implementing the :class:`AbstractEventLoop` " "interface." msgstr "" #: ../Doc/library/asyncio-policy.rst:59 ../Doc/library/asyncio-policy.rst:71 msgid "This method should never return ``None``." msgstr "" #: ../Doc/library/asyncio-policy.rst:65 msgid "Set the event loop for the current context to *loop*." msgstr "" #: ../Doc/library/asyncio-policy.rst:69 msgid "Create and return a new event loop object." msgstr "" #: ../Doc/library/asyncio-policy.rst:75 msgid "Get a child process watcher object." msgstr "" #: ../Doc/library/asyncio-policy.rst:77 msgid "" "Return a watcher object implementing the :class:`AbstractChildWatcher` " "interface." msgstr "" #: ../Doc/library/asyncio-policy.rst:80 ../Doc/library/asyncio-policy.rst:86 msgid "This function is Unix specific." msgstr "" #: ../Doc/library/asyncio-policy.rst:84 msgid "Set the current child process watcher to *watcher*." msgstr "" #: ../Doc/library/asyncio-policy.rst:89 msgid "asyncio ships with the following built-in policies:" msgstr "" #: ../Doc/library/asyncio-policy.rst:94 msgid "" "The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" "class:`ProactorEventLoop` on Windows." msgstr "" #: ../Doc/library/asyncio-policy.rst:97 msgid "" "There is no need to install the default policy manually. asyncio is " "configured to use the default policy automatically." msgstr "" #: ../Doc/library/asyncio-policy.rst:102 msgid "On Windows, :class:`ProactorEventLoop` is now used by default." msgstr "" #: ../Doc/library/asyncio-policy.rst:107 msgid "" "An alternative event loop policy that uses the :class:`SelectorEventLoop` " "event loop implementation." msgstr "" #: ../Doc/library/asyncio-policy.rst:110 ../Doc/library/asyncio-policy.rst:118 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." #: ../Doc/library/asyncio-policy.rst:115 msgid "" "An alternative event loop policy that uses the :class:`ProactorEventLoop` " "event loop implementation." msgstr "" #: ../Doc/library/asyncio-policy.rst:123 msgid "Process Watchers" msgstr "" #: ../Doc/library/asyncio-policy.rst:125 msgid "" "A process watcher allows customization of how an event loop monitors child " "processes on Unix. Specifically, the event loop needs to know when a child " "process has exited." msgstr "" #: ../Doc/library/asyncio-policy.rst:129 msgid "" "In asyncio, child processes are created with :func:`create_subprocess_exec` " "and :meth:`loop.subprocess_exec` functions." msgstr "" #: ../Doc/library/asyncio-policy.rst:133 msgid "" "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " "child watchers should implement, and has four different implementations: :" "class:`ThreadedChildWatcher` (configured to be used by default), :class:" "`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:" "`FastChildWatcher`." msgstr "" #: ../Doc/library/asyncio-policy.rst:139 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." msgstr "" #: ../Doc/library/asyncio-policy.rst:142 msgid "" "The following two functions can be used to customize the child process " "watcher implementation used by the asyncio event loop:" msgstr "" #: ../Doc/library/asyncio-policy.rst:147 msgid "Return the current child watcher for the current policy." msgstr "" #: ../Doc/library/asyncio-policy.rst:151 msgid "" "Set the current child watcher to *watcher* for the current policy. " "*watcher* must implement methods defined in the :class:" "`AbstractChildWatcher` base class." msgstr "" #: ../Doc/library/asyncio-policy.rst:156 msgid "" "Third-party event loops implementations might not support custom child " "watchers. For such event loops, using :func:`set_child_watcher` might be " "prohibited or have no effect." msgstr "" #: ../Doc/library/asyncio-policy.rst:164 msgid "Register a new child handler." msgstr "" #: ../Doc/library/asyncio-policy.rst:166 msgid "" "Arrange for ``callback(pid, returncode, *args)`` to be called when a process " "with PID equal to *pid* terminates. Specifying another callback for the " "same process replaces the previous handler." msgstr "" #: ../Doc/library/asyncio-policy.rst:171 msgid "The *callback* callable must be thread-safe." msgstr "" #: ../Doc/library/asyncio-policy.rst:175 msgid "Removes the handler for process with PID equal to *pid*." msgstr "" #: ../Doc/library/asyncio-policy.rst:177 msgid "" "The function returns ``True`` if the handler was successfully removed, " "``False`` if there was nothing to remove." msgstr "" #: ../Doc/library/asyncio-policy.rst:182 msgid "Attach the watcher to an event loop." msgstr "" #: ../Doc/library/asyncio-policy.rst:184 msgid "" "If the watcher was previously attached to an event loop, then it is first " "detached before attaching to the new loop." msgstr "" #: ../Doc/library/asyncio-policy.rst:187 msgid "Note: loop may be ``None``." msgstr "" #: ../Doc/library/asyncio-policy.rst:191 msgid "Return ``True`` if the watcher is ready to use." msgstr "" #: ../Doc/library/asyncio-policy.rst:193 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." msgstr "" #: ../Doc/library/asyncio-policy.rst:200 msgid "Close the watcher." msgstr "" #: ../Doc/library/asyncio-policy.rst:202 msgid "" "This method has to be called to ensure that underlying resources are cleaned-" "up." msgstr "" #: ../Doc/library/asyncio-policy.rst:207 msgid "" "This implementation starts a new waiting thread for every subprocess spawn." msgstr "" #: ../Doc/library/asyncio-policy.rst:209 msgid "" "It works reliably even when the asyncio event loop is run in a non-main OS " "thread." msgstr "" #: ../Doc/library/asyncio-policy.rst:211 msgid "" "There is no noticeable overhead when handling a big number of children " "(*O(1)* each time a child terminates), but stating a thread per process " "requires extra memory." msgstr "" #: ../Doc/library/asyncio-policy.rst:214 msgid "This watcher is used by default." msgstr "" #: ../Doc/library/asyncio-policy.rst:220 msgid "" "This implementation registers a :py:data:`SIGCHLD` signal handler on " "instantiation. That can break third-party code that installs a custom " "handler for `SIGCHLD`. signal)." msgstr "" #: ../Doc/library/asyncio-policy.rst:224 ../Doc/library/asyncio-policy.rst:242 msgid "" "The watcher avoids disrupting other code spawning processes by polling every " "process explicitly on a :py:data:`SIGCHLD` signal." msgstr "" #: ../Doc/library/asyncio-policy.rst:227 msgid "" "There is no limitation for running subprocesses from different threads once " "the watcher is installed." msgstr "" #: ../Doc/library/asyncio-policy.rst:230 msgid "" "The solution is safe but it has a significant overhead when handling a big " "number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." msgstr "" #: ../Doc/library/asyncio-policy.rst:238 msgid "" "This implementation uses active event loop from the main thread to handle :" "py:data:`SIGCHLD` signal. If the main thread has no running event loop " "another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." msgstr "" #: ../Doc/library/asyncio-policy.rst:245 msgid "" "This solution is as safe as :class:`MultiLoopChildWatcher` and has the same " "*O(N)* complexity but requires a running event loop in the main thread to " "work." msgstr "" #: ../Doc/library/asyncio-policy.rst:250 msgid "" "This implementation reaps every terminated processes by calling ``os." "waitpid(-1)`` directly, possibly breaking other code spawning processes and " "waiting for their termination." msgstr "" #: ../Doc/library/asyncio-policy.rst:254 msgid "" "There is no noticeable overhead when handling a big number of children " "(*O(1)* each time a child terminates)." msgstr "" #: ../Doc/library/asyncio-policy.rst:257 msgid "" "This solution requires a running event loop in the main thread to work, as :" "class:`SafeChildWatcher`." msgstr "" #: ../Doc/library/asyncio-policy.rst:262 msgid "Custom Policies" msgstr "" #: ../Doc/library/asyncio-policy.rst:264 msgid "" "To implement a new event loop policy, it is recommended to subclass :class:" "`DefaultEventLoopPolicy` and override the methods for which custom behavior " "is wanted, e.g.::" msgstr ""