-
Notifications
You must be signed in to change notification settings - Fork 395
/
Copy pathasyncio-queue.po
362 lines (317 loc) · 12.8 KB
/
asyncio-queue.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-21 16:38-0300\n"
"PO-Revision-Date: 2023-03-09 11:42-0300\n"
"Last-Translator: \n"
"Language: es\n"
"Language-Team: python-doc-es\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.16.0\n"
#: ../Doc/library/asyncio-queue.rst:7
msgid "Queues"
msgstr "Colas"
#: ../Doc/library/asyncio-queue.rst:9
msgid "**Source code:** :source:`Lib/asyncio/queues.py`"
msgstr "**Código fuente:** :source:`Lib/asyncio/queue.py`"
#: ../Doc/library/asyncio-queue.rst:13
msgid ""
"asyncio queues are designed to be similar to classes of the :mod:`queue` "
"module. Although asyncio queues are not thread-safe, they are designed to "
"be used specifically in async/await code."
msgstr ""
"Las colas asyncio son diseñadas para ser similares a clases del módulo :mod:"
"`queue`. Sin embargo las colas asyncio no son seguras para hilos, son "
"diseñadas para usar específicamente en código async/await."
#: ../Doc/library/asyncio-queue.rst:17
msgid ""
"Note that methods of asyncio queues don't have a *timeout* parameter; use :"
"func:`asyncio.wait_for` function to do queue operations with a timeout."
msgstr ""
"Nota que los métodos de colas de asyncio no tienen un parámetro *timeout*; "
"usa la función :func:`asyncio.wait_for` para hacer operaciones de cola con "
"un tiempo de espera."
#: ../Doc/library/asyncio-queue.rst:21
msgid "See also the `Examples`_ section below."
msgstr "Ver también la sección `Examples`_ a continuación."
#: ../Doc/library/asyncio-queue.rst:24
msgid "Queue"
msgstr "Cola"
#: ../Doc/library/asyncio-queue.rst:28
msgid "A first in, first out (FIFO) queue."
msgstr ""
"Una cola primero en entrar, primero en salir (PEPS, o *FIFO* en inglés)."
#: ../Doc/library/asyncio-queue.rst:30
msgid ""
"If *maxsize* is less than or equal to zero, the queue size is infinite. If "
"it is an integer greater than ``0``, then ``await put()`` blocks when the "
"queue reaches *maxsize* until an item is removed by :meth:`get`."
msgstr ""
"Si *maxsize* es menor que o igual a cero, el tamaño de la cola es infinito. "
"Si es un entero mayor a ``0``, entonces ``await put()`` se bloquea cuando "
"una cola alcanza su *maxsize* hasta que un elemento es removido por :meth:"
"`get`."
#: ../Doc/library/asyncio-queue.rst:35
msgid ""
"Unlike the standard library threading :mod:`queue`, the size of the queue is "
"always known and can be returned by calling the :meth:`qsize` method."
msgstr ""
"Diferente de los subprocesos de la biblioteca estándar :mod:`queue`, el "
"tamaño de la cola siempre es conocido y puede ser retornado llamando el "
"método :meth:`qsize`."
#: ../Doc/library/asyncio-queue.rst:39
msgid "Removed the *loop* parameter."
msgstr "Excluido el parámetro *loop*."
#: ../Doc/library/asyncio-queue.rst:43
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."
msgstr "Esta clase es :ref:`no segura para hilos <asyncio-multithreading>`."
#: ../Doc/library/asyncio-queue.rst:47
msgid "Number of items allowed in the queue."
msgstr "Número de ítems permitidos en la cola."
#: ../Doc/library/asyncio-queue.rst:51
msgid "Return ``True`` if the queue is empty, ``False`` otherwise."
msgstr "Retorna ``True`` si la cola es vacía, o ``False`` en caso contrario."
#: ../Doc/library/asyncio-queue.rst:55
msgid "Return ``True`` if there are :attr:`maxsize` items in the queue."
msgstr "Retorna ``True`` si hay :attr:`maxsize` ítems en la cola."
#: ../Doc/library/asyncio-queue.rst:57
#, fuzzy
msgid ""
"If the queue was initialized with ``maxsize=0`` (the default), then :meth:"
"`full` never returns ``True``."
msgstr ""
"Si la cola fue inicializada con ``maxsize=0`` (el predeterminado), entonces :"
"meth:`fill()` nunca retorna ``True``."
#: ../Doc/library/asyncio-queue.rst:62
msgid ""
"Remove and return an item from the queue. If queue is empty, wait until an "
"item is available."
msgstr ""
"Remueve y retorna un ítem de la cola. Si la cola es vacía, espera hasta que "
"un ítem esté disponible."
#: ../Doc/library/asyncio-queue.rst:65
msgid ""
"Raises :exc:`QueueShutDown` if the queue has been shut down and is empty, or "
"if the queue has been shut down immediately."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:70
msgid ""
"Return an item if one is immediately available, else raise :exc:`QueueEmpty`."
msgstr ""
"Retorna un ítem si uno está inmediatamente disponible, de otra manera "
"levanta :exc:`QueueEmpty`."
#: ../Doc/library/asyncio-queue.rst:75
msgid "Block until all items in the queue have been received and processed."
msgstr ""
"Se bloquea hasta que todos los ítems en la cola han sido recibidos y "
"procesados."
#: ../Doc/library/asyncio-queue.rst:77
msgid ""
"The count of unfinished tasks goes up whenever an item is added to the "
"queue. The count goes down whenever a consumer coroutine calls :meth:"
"`task_done` to indicate that the item was retrieved and all work on it is "
"complete. When the count of unfinished tasks drops to zero, :meth:`join` "
"unblocks."
msgstr ""
"El conteo de tareas no terminadas sube siempre que un ítem es agregado a la "
"cola. El conteo baja siempre que la ejecución de una corrutina :meth:"
"`task_done` para indicar que el ítem fue recuperado y todo el trabajo en él "
"está completo. Cuando el conteo de tareas inacabadas llega a cero, :meth:"
"`join` se desbloquea."
#: ../Doc/library/asyncio-queue.rst:85
msgid ""
"Put an item into the queue. If the queue is full, wait until a free slot is "
"available before adding the item."
msgstr ""
"Pone un ítem en la cola. Si la cola está completa, espera hasta que una "
"entrada vacía esté disponible antes de agregar el ítem."
#: ../Doc/library/asyncio-queue.rst:88
msgid "Raises :exc:`QueueShutDown` if the queue has been shut down."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:92
msgid "Put an item into the queue without blocking."
msgstr "Pone un ítem en la cola sin bloquearse."
#: ../Doc/library/asyncio-queue.rst:94
msgid "If no free slot is immediately available, raise :exc:`QueueFull`."
msgstr ""
"Si no hay inmediatamente disponibles entradas vacías, lanza :exc:`QueueFull`."
#: ../Doc/library/asyncio-queue.rst:98
msgid "Return the number of items in the queue."
msgstr "Retorna el número de ítems en la cola."
#: ../Doc/library/asyncio-queue.rst:102
msgid ""
"Shut down the queue, making :meth:`~Queue.get` and :meth:`~Queue.put` raise :"
"exc:`QueueShutDown`."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:105
msgid ""
"By default, :meth:`~Queue.get` on a shut down queue will only raise once the "
"queue is empty. Set *immediate* to true to make :meth:`~Queue.get` raise "
"immediately instead."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:109
msgid ""
"All blocked callers of :meth:`~Queue.put` and :meth:`~Queue.get` will be "
"unblocked. If *immediate* is true, a task will be marked as done for each "
"remaining item in the queue, which may unblock callers of :meth:`~Queue."
"join`."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:118
msgid "Indicate that a formerly enqueued task is complete."
msgstr "Indica que una tarea formalmente en cola está completa."
#: ../Doc/library/asyncio-queue.rst:120
msgid ""
"Used by queue consumers. For each :meth:`~Queue.get` used to fetch a task, a "
"subsequent call to :meth:`task_done` tells the queue that the processing on "
"the task is complete."
msgstr ""
"Usada por consumidores de la cola. Para cada :meth:`~Queue.get` usado para "
"buscar una tarea, una ejecución subsecuente a :meth:`task_done` dice a la "
"cola que el procesamiento de la tarea está completo."
#: ../Doc/library/asyncio-queue.rst:124
msgid ""
"If a :meth:`join` is currently blocking, it will resume when all items have "
"been processed (meaning that a :meth:`task_done` call was received for every "
"item that had been :meth:`~Queue.put` into the queue)."
msgstr ""
"Si un :meth:`join` está actualmente bloqueando, éste se resumirá cuando "
"todos los ítems han sido procesados (implicado que un método :meth:"
"`task_done` fue recibido por cada ítem que ha sido :meth:`~Queue.put` en la "
"cola."
#: ../Doc/library/asyncio-queue.rst:129
msgid ""
"``shutdown(immediate=True)`` calls :meth:`task_done` for each remaining item "
"in the queue."
msgstr ""
#: ../Doc/library/asyncio-queue.rst:132
msgid ""
"Raises :exc:`ValueError` if called more times than there were items placed "
"in the queue."
msgstr ""
"Lanza :exc:`ValueError` si fue llamado más veces que los ítems en la cola."
#: ../Doc/library/asyncio-queue.rst:137
msgid "Priority Queue"
msgstr "Cola de prioridad"
#: ../Doc/library/asyncio-queue.rst:141
msgid ""
"A variant of :class:`Queue`; retrieves entries in priority order (lowest "
"first)."
msgstr ""
"Una variante de :class:`Queue`; recupera entradas en su orden de prioridad "
"(el más bajo primero)."
#: ../Doc/library/asyncio-queue.rst:144
msgid "Entries are typically tuples of the form ``(priority_number, data)``."
msgstr ""
"Las entradas son típicamente tuplas de la forma ``(priority_number, data)``."
#: ../Doc/library/asyncio-queue.rst:149
msgid "LIFO Queue"
msgstr "Cola UEPA (o *LIFO* en inglés)"
#: ../Doc/library/asyncio-queue.rst:153
msgid ""
"A variant of :class:`Queue` that retrieves most recently added entries first "
"(last in, first out)."
msgstr ""
"Una variante de una :class:`Queue` que recupera primero el elemento agregado "
"más reciente (último en entrar, primero en salir)."
#: ../Doc/library/asyncio-queue.rst:158
msgid "Exceptions"
msgstr "Excepciones"
#: ../Doc/library/asyncio-queue.rst:162
msgid ""
"This exception is raised when the :meth:`~Queue.get_nowait` method is called "
"on an empty queue."
msgstr ""
"Esta excepción es lanzada cuando el método :meth:`~Queue.get_nowait` es "
"ejecutado en una cola vacía."
#: ../Doc/library/asyncio-queue.rst:168
msgid ""
"Exception raised when the :meth:`~Queue.put_nowait` method is called on a "
"queue that has reached its *maxsize*."
msgstr ""
"Las excepciones son lanzadas cuando el método :meth:`~Queue.put_nowait` es "
"lanzado en una cola que ha alcanzado su *maxsize*."
#: ../Doc/library/asyncio-queue.rst:174
#, fuzzy
msgid ""
"Exception raised when :meth:`~Queue.put` or :meth:`~Queue.get` is called on "
"a queue which has been shut down."
msgstr ""
"Las excepciones son lanzadas cuando el método :meth:`~Queue.put_nowait` es "
"lanzado en una cola que ha alcanzado su *maxsize*."
#: ../Doc/library/asyncio-queue.rst:181
msgid "Examples"
msgstr "Ejemplos"
#: ../Doc/library/asyncio-queue.rst:185
msgid ""
"Queues can be used to distribute workload between several concurrent tasks::"
msgstr ""
"Las colas pueden ser usadas para distribuir cargas de trabajo entre "
"múltiples tareas concurrentes::"
#: ../Doc/library/asyncio-queue.rst:188
msgid ""
"import asyncio\n"
"import random\n"
"import time\n"
"\n"
"\n"
"async def worker(name, queue):\n"
" while True:\n"
" # Get a \"work item\" out of the queue.\n"
" sleep_for = await queue.get()\n"
"\n"
" # Sleep for the \"sleep_for\" seconds.\n"
" await asyncio.sleep(sleep_for)\n"
"\n"
" # Notify the queue that the \"work item\" has been processed.\n"
" queue.task_done()\n"
"\n"
" print(f'{name} has slept for {sleep_for:.2f} seconds')\n"
"\n"
"\n"
"async def main():\n"
" # Create a queue that we will use to store our \"workload\".\n"
" queue = asyncio.Queue()\n"
"\n"
" # Generate random timings and put them into the queue.\n"
" total_sleep_time = 0\n"
" for _ in range(20):\n"
" sleep_for = random.uniform(0.05, 1.0)\n"
" total_sleep_time += sleep_for\n"
" queue.put_nowait(sleep_for)\n"
"\n"
" # Create three worker tasks to process the queue concurrently.\n"
" tasks = []\n"
" for i in range(3):\n"
" task = asyncio.create_task(worker(f'worker-{i}', queue))\n"
" tasks.append(task)\n"
"\n"
" # Wait until the queue is fully processed.\n"
" started_at = time.monotonic()\n"
" await queue.join()\n"
" total_slept_for = time.monotonic() - started_at\n"
"\n"
" # Cancel our worker tasks.\n"
" for task in tasks:\n"
" task.cancel()\n"
" # Wait until all worker tasks are cancelled.\n"
" await asyncio.gather(*tasks, return_exceptions=True)\n"
"\n"
" print('====')\n"
" print(f'3 workers slept in parallel for {total_slept_for:.2f} seconds')\n"
" print(f'total expected sleep time: {total_sleep_time:.2f} seconds')\n"
"\n"
"\n"
"asyncio.run(main())"
msgstr ""