romasku
382a5635bd
bpo-40607: Reraise exception during task cancelation in asyncio.wait_for() (GH-20054)
...
Currently, if asyncio.wait_for() timeout expires, it cancels
inner future and then always raises TimeoutError. In case
those future is task, it can handle cancelation mannually,
and those process can lead to some other exception. Current
implementation silently loses thoses exception.
To resolve this, wait_for will check was the cancelation
successfull or not. In case there was exception, wait_for
will reraise it.
Co-authored-by: Roman Skurikhin <roman.skurikhin@cruxlab.com>
2020-05-15 13:12:05 -07:00
jack1142
de92769d47
bpo-34790: add version of removal of explicit passing of coros to `asyncio.wait`'s documentation ( #20008 )
2020-05-13 11:55:12 -07:00
Joel Rosdahl
9d74658f0a
bpo-40499: Mention that asyncio.wait() needs a non-empty aws set (GH-19900)
...
A similar formulation was added in bpo-21596
(db74d982d4
) but was lost in bpo-33649
(3faaa8857a
).
2020-05-04 14:56:00 -07:00
Kyle Stanley
f900064ac4
docs: Add asyncio source code links (GH-16640)
2019-10-10 19:18:46 -04:00
Kyle Stanley
e407013089
Fix and improve `asyncio.run()` docs (GH-16403)
2019-09-30 17:12:21 -07:00
Emmanuel Arias
17deb16883
bpo-38260: Add Docs on asyncio.run (GH-16337)
...
Add docs about return and raise exception on asyncio.run
https://bugs.python.org/issue38260
Automerge-Triggered-By: @asvetlov
2019-09-25 01:53:49 -07:00
Kyle Stanley
77af2290e5
Doc: Remove provisional note for asyncio.run() (GH-16310)
...
Based on a comment from @asvetlov https://github.com/python/cpython/pull/15735#discussion_r323619076 , this removes the provisional note for ``asyncio.run()`` in the documentation.
Automerge-Triggered-By: @1st1
2019-09-20 16:46:21 -07:00
Kyle Stanley
9fdc64cf12
bpo-34037: Fix test_asyncio failure and add loop.shutdown_default_executor() (GH-15735)
2019-09-19 15:47:22 +03:00
Andrew Svetlov
a488879cba
bpo-36373: Deprecate explicit loop in task and subprocess API (GH-16033)
2019-09-12 15:40:40 +03:00
Alex Grönholm
98ef92002e
bpo-36999: Add asyncio.Task.get_coro() (GH-13680)
...
https://bugs.python.org/issue36999
2019-05-30 08:30:09 -07:00
Matthias Bussonnier
d0ebf13e50
bpo-36932: use proper deprecation-removed directive (GH-13349)
...
.. And update some deprecation warnings with version numbers.
https://bugs.python.org/issue36932
2019-05-20 23:20:10 -07:00
Boštjan Mejak
1d5bdef550
Orthographical fix (GH-13418)
...
Add a missing comma.
2019-05-19 02:01:36 -07:00
Andrew Svetlov
68b34a7204
bpo-36921: Deprecate @coroutine for sake of async def (GH-13346)
...
The second attempt. Now deprecate `@coroutine` only, keep `yield from fut` as is.
https://bugs.python.org/issue36921
2019-05-16 07:52:10 -07:00
Vaibhav Gupta
3a81076bbf
bpo-35579: Fix typo in in asyncio-task documentation (GH-11321)
...
https://bugs.python.org/issue35579
https://bugs.python.org/issue35579
2018-12-26 06:47:16 -08:00
Mariatta
9f43fbbd9d
Use f-strings in asyncio-task code examples (GH-10035)
...
Replace str.format with f-strings in the code examples of asyncio-task documentation.
2018-10-25 00:37:12 +02:00
Hrvoje Nikšić
cd602b8af2
bpo-34476: Document that asyncio.sleep() always suspends. ( #9643 )
2018-10-01 13:09:38 +03:00
Yury Selivanov
59ee5b1293
bpo-34802: Fix asyncio.iscoroutine() docs (GH-9611)
2018-09-27 15:48:30 -04:00
Yury Selivanov
fad6af2744
asyncio/docs: Replace Python 4.0 -> 3.10 (GH-9579)
2018-09-25 17:44:52 -04:00
Yury Selivanov
996859a90d
bpo-34790: [docs] Passing coroutines to asyncio.wait() can be confusing. (GH-9543)
2018-09-25 14:51:21 -04:00
Yury Selivanov
db1a80e97a
bpo-33649: Fix gather() docs; fix title; few other nits. (GH-9475)
2018-09-21 16:23:15 -04:00
Yury Selivanov
e247b46cba
bpo-33649: More improvements (GH-9439)
2018-09-20 12:43:59 -04:00
Yury Selivanov
471503954a
bpo-33649: Add a high-level section about Futures; few quick fixes (GH-9403)
...
Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-09-18 17:55:44 -04:00
Yury Selivanov
b042cf10c6
bpo-33649: Fix markup; add another note that asyncio.run is 3.7+ (GH-9389)
2018-09-18 02:47:54 -04:00
Miguel Ángel García
9c53fa6ad9
Fix syntax error on Asyncio example in doc (GH-9387)
...
The `gather` method requires to close the parenthesis, but it is being closed twice.
2018-09-18 02:01:26 -04:00
Danny Hermes
7bfbda46f4
Change "set_after" reference to `say_after`. (GH-9384)
2018-09-18 00:49:21 -04:00
Elvis Pranskevichus
1fa2ec49be
bpo-33649: A copy-editing pass on asyncio documentation (GH-9376)
2018-09-17 19:16:44 -04:00
Yury Selivanov
394374e30c
bpo-33649: Add low-level APIs index. (GH-9364)
2018-09-17 15:35:24 -04:00
Yury Selivanov
7372c3bbef
bpo-33649: Add high-level APIs cheat-sheet (GH-9319)
2018-09-14 15:11:24 -07:00
Yury Selivanov
3faaa8857a
bpo-33649: Refresh Tasks and Futures pages ( #9314 )
...
* bpo-33649: Refresh Tasks and Futures pages
* Fixes
* Fix markup
2018-09-14 13:32:07 -07:00
Yury Selivanov
7c7605ff11
bpo-33649: First asyncio docs improvement pass (GH-9142)
...
Rewritten/updated sections:
* Event Loop APIs
* Transports & Protocols
* Streams
* Exceptions
* Policies
* Queues
* Subprocesses
* Platforms
2018-09-11 09:54:40 -07:00
Alex Grönholm
cca4eec3c0
bpo-34270: Make it possible to name asyncio tasks (GH-8547)
...
Co-authored-by: Antti Haapala <antti.haapala@anttipatterns.com>
2018-08-08 17:06:47 -04:00
Elvis Pranskevichus
dec947ca26
Fix typo introduced in GH-7217 ( #7230 )
2018-05-29 20:14:59 -04:00
Elvis Pranskevichus
f9aeca2085
bpo-23859: Document that asyncio.wait() does not cancel its futures ( #7217 )
...
Unlike `asyncio.wait_for()`, `asyncio.wait()` does not cancel the passed
futures when a timeout accurs.
2018-05-29 18:21:44 -04:00
Elvis Pranskevichus
e2b340ab41
bpo-32751: Wait for task cancellation in asyncio.wait_for() (GH-7216)
...
Currently, asyncio.wait_for(fut), upon reaching the timeout deadline,
cancels the future and returns immediately. This is problematic for
when *fut* is a Task, because it will be left running for an arbitrary
amount of time. This behavior is iself surprising and may lead to
related bugs such as the one described in bpo-33638:
condition = asyncio.Condition()
async with condition:
await asyncio.wait_for(condition.wait(), timeout=0.5)
Currently, instead of raising a TimeoutError, the above code will fail
with `RuntimeError: cannot wait on un-acquired lock`, because
`__aexit__` is reached _before_ `condition.wait()` finishes its
cancellation and re-acquires the condition lock.
To resolve this, make `wait_for` await for the task cancellation.
The tradeoff here is that the `timeout` promise may be broken if the
task decides to handle its cancellation in a slow way. This represents
a behavior change and should probably not be back-patched to 3.6 and
earlier.
2018-05-29 17:31:01 -04:00
Yury Selivanov
863b674909
bpo-32684: Fix gather to propagate cancel of itself with return_exceptions (GH-7209)
2018-05-29 17:20:02 -04:00
Yury Selivanov
416c1ebd98
bpo-32610: Fix asyncio.all_tasks() to return only pending tasks. (GH-7174)
2018-05-28 17:54:02 -04:00
Yury Selivanov
28b9178023
bpo-32436: Document PEP 567 changes to asyncio. (GH-7073)
2018-05-23 13:35:04 -04:00
Elvis Pranskevichus
63536bd286
bpo-32996: The bulk of What's New in Python 3.7 (GH-6978)
2018-05-19 23:15:06 -04:00
Yury Selivanov
d8d715f514
asyncio/docs: Mark asyncio.run() as provisional in 3.7. ( #6946 )
2018-05-17 13:44:00 -04:00
Andrew Svetlov
b21505e710
Fix docs markup for asyncio current_task() and all_tasks() ( #6089 )
2018-03-12 20:50:50 +02:00
Joongi Kim
13cfd57dcf
Fix missing coroutine declaration in the asyncio documentation. ( #5964 )
2018-03-03 18:43:54 +02:00
Yury Selivanov
ca9b36cd1a
bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() ( #4992 )
2017-12-23 15:04:15 -05:00
Andrew Svetlov
44d1a5912e
bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() ( #4799 )
2017-12-16 21:58:38 +02:00
Andrew Svetlov
f74ef458ab
bpo-32311: Implement asyncio.create_task() shortcut ( #4848 )
...
* Implement functionality
* Add documentation
2017-12-15 07:04:38 +02:00
Yury Selivanov
02a0a19206
bpo-32314: Implement asyncio.run() ( #4852 )
2017-12-14 09:42:21 -05:00
Andrew Svetlov
8874342cf3
bpo-32258: Replace 'yield from' to 'await' in asyncio docs ( #4779 )
...
* Replace 'yield from' to 'await' in asyncio docs
* Fix docstrings
2017-12-11 17:35:49 +02:00
Yury Selivanov
9edad3c701
bpo-32272: Remove asyncio.async() function. ( #4784 )
2017-12-11 10:03:48 -05:00
Antoine Pitrou
22b1128559
bpo-31960: Fix asyncio.Future documentation for thread (un)safety. ( #4319 )
2017-11-07 17:03:28 +01:00
luzpaz
a5293b4ff2
Fix miscellaneous typos ( #4275 )
2017-11-05 15:37:50 +02:00
lf
627d2c8e8d
Add the link to asyncio source code in the docs (GH-2373)
2017-07-25 16:03:51 -07:00
adisbladis
824f687912
bpo-24755: Document asyncio.wrap_future (GH-603)
2017-06-08 23:28:59 -07:00
Berker Peksag
f59286794b
Issue #29441 : Update examples to use async and await keywords in asyncio-task.rst
2017-02-07 11:27:09 +03:00
Berker Peksag
d5adb63673
Issue #29407 : Remove redundant ensure_future() calls in factorial example
2017-02-01 22:37:16 +03:00
Serhiy Storchaka
4adf01caae
Issue #19795 : Improved more markups of True/False.
2016-10-19 18:30:05 +03:00
Berker Peksag
002b0a7ecd
Issue #28348 : Fix typo in asyncio.Task() documentation
...
Patch by Mariatta Wijaya.
2016-10-04 20:45:47 +03:00
Guido van Rossum
f68afd8544
Issue #27700 : Document AbstractEventLoop, not BaseEventLoop.
2016-08-08 09:41:21 -07:00
Andrew Svetlov
4365b8302d
Use asyncio.gather instead of asyncio.wait in example.
...
gather will raise exception in case of problem but wait just returns done and pending lists of futures.
For getting error every future result should be retrieved, which is boring and error prone.
2016-08-08 03:10:39 +03:00
Yury Selivanov
c1cf296de6
asyncio: Remove asyncio.timeout() context manager.
...
It will probably be added back in Python 3.6, once its compatibility
issues are resolved; see [1] for more details.
[1] https://mail.python.org/pipermail/async-sig/2016-June/000045.html
2016-06-08 13:57:03 -04:00
Zachary Ware
f9aff925e0
Fix typo
2016-06-01 00:01:10 -05:00
Yury Selivanov
950204df9c
docs: Update asyncio docs & whatsnew
2016-05-16 16:23:00 -04:00
Andrew Svetlov
6f57424ae0
Document None as timeout for asyncio.timeout()
2016-03-29 09:39:02 +03:00
Martin Panter
c04fb56e36
Issue #26304 : Change "allows to <verb>" to "allows <verb>ing" or similar
...
The original form is incorrect grammar and feels awkward, even though the
meaning is clear.
2016-02-10 05:44:01 +00:00
Andrew Svetlov
ea471348f4
Fix versionadded to use 3.5.1 only for 3.5 branch
2016-01-11 15:41:43 +02:00
Andrew Svetlov
3af81f2505
merge 3.4
2016-01-11 14:45:25 +02:00
Andrew Svetlov
f1240169b3
Document asyncio.timeout()
2016-01-11 14:40:35 +02:00
Yury Selivanov
e319ab01ce
docs/asyncio: Update ensure_future & run_coroutine_threadsafe docs
2015-12-15 00:45:24 -05:00
Yury Selivanov
6efc7e726f
Merge 3.4
2015-11-18 12:44:49 -05:00
Yury Selivanov
01a65af4a1
asyncio.docs: Fix versionadded
2015-11-18 12:44:31 -05:00
Guido van Rossum
5db034acfa
Docs and one small improvement for issue #25304 , by Vincent Michel. (Merge 3.4->3.5.)
2015-10-05 16:23:13 -07:00
Guido van Rossum
601953b679
Docs and one small improvement for issue #25304 , by Vincent Michel.
2015-10-05 16:20:00 -07:00
Yury Selivanov
04356e1f6f
Issue #24487 : Rename async() -> ensure_future() in asyncio docs.
...
Patch by Martin Panter.
2015-06-30 22:13:22 -04:00
Yury Selivanov
66f8828bfc
Issue #24439 : Improve PEP 492 related docs.
...
Patch by Martin Panter.
2015-06-24 11:04:15 -04:00
Yury Selivanov
d7e19bb566
docs/asyncio: Document new ensure_future() and deprecated async()
2015-05-11 16:33:41 -04:00
Victor Stinner
72dcb0a765
Issue #23219 : Update asyncio.wait_for() documentation
...
the wait is cancelled, the future *fut* is now also cancelled.
2015-04-03 17:08:19 +02:00
Victor Stinner
83704963c0
asyncio: add a note about (non) thread safety in each class
2015-02-25 14:24:15 +01:00
Victor Stinner
bdd574d09a
asyncio doc: annotate coroutine on coroutine functions and methods
2015-02-12 22:49:18 +01:00
Victor Stinner
d87de83582
Closes #22475 : asyncio doc, fix Task.get_stack() doc
2014-12-02 17:57:04 +01:00
Victor Stinner
039f703b7b
Close #22473 : asyncio doc: rephrase Future with run_forever() example
2014-12-02 17:52:45 +01:00
Victor Stinner
8464c24c82
asyncio doc: explain how to pass keywords to callbacks (functools.partial)
2014-11-28 13:15:41 +01:00
Victor Stinner
7f314ed71b
asyncio doc: write simpler examples to introduce asyncio
2014-10-15 18:49:16 +02:00
Victor Stinner
980dd84f92
asyncio doc: more explicit doc for async()
...
The function schedules the execution of coroutines, it's not just a wrapper for
something.
2014-10-12 21:36:17 +02:00
Victor Stinner
6888b96cee
asyncio doc: cleanup Hello World examples
2014-10-11 16:15:58 +02:00
Berker Peksag
9c1dba2758
Revert #22251
2014-09-28 00:00:58 +03:00
Berker Peksag
3749404ba5
Issue #22251 : Fix ReST markup to avoid errors building docs.
2014-09-27 23:21:35 +03:00
R David Murray
22dd8334cd
Improve English phrasing in asyncio task docs.
2014-09-24 11:09:09 -04:00
Victor Stinner
337e03ff78
Issue #22112 , asyncio doc: replace loop.create_task(coro) with
...
asyncio.async(coro), mention that asyncio.async() can be used to scheduler a
coroutine, and make it clear that create_task() is only available in Python
3.4.2 and later.
2014-08-11 01:11:13 +02:00
Terry Jan Reedy
c935a9530c
Englich grammar nit.
2014-07-24 02:33:14 -04:00
Victor Stinner
530ef2f069
Update asyncio documentation
...
- Document the new create_task() method
- "Hide" the Task class: point to the create_task() method for interoperability
- Rewrite the documentation of the Task class
- Document the "Pending task destroyed"
- Update output in debug mode of examples in the dev section
- Replace Task() with create_task() in examples
2014-07-08 12:39:10 +02:00
Victor Stinner
63b21a8ffa
Closes #21921 : Fix ResourceWarning in the asyncio examples: close the event
...
loop at exit. Patch written by Vajrasky Kok (I modified also the "hello world"
example using a coroutine).
2014-07-05 15:38:59 +02:00
Victor Stinner
db74d982d4
Issue #21596 : asyncio.wait(): mention that the sequence of futures must not
...
be empty.
2014-06-10 11:16:05 +02:00
Victor Stinner
8d21357fb5
Issue #21601 : Document asyncio.Task.cancel(). Initial patch written by Vajrasky
...
Kok.
2014-06-02 23:06:46 +02:00
Victor Stinner
28d0ae48e9
Issue #21376 : document asyncio.TimeoutError
2014-05-29 00:04:57 +02:00
Yury Selivanov
37f15bcfed
asyncio.docs: Improve wordings; add a note to the Coroutines section. Issue #20706
2014-02-20 16:20:44 -05:00
Victor Stinner
04e05da1b3
Close #20652 : asyncio doc: close the event loop in run_forever() example. Fix
...
also typo. Patch written by Vajrasky Kok.
2014-02-17 10:54:30 +01:00
Brian Curtin
c9d1a6b85e
merge
2014-02-08 18:36:57 -06:00
Brian Curtin
a1afeec9aa
Spelling corrections. Submitted to python-dev by python@mrabarnett.plus.com
2014-02-08 18:36:14 -06:00
Victor Stinner
12c68b20b7
asyncio doc: fix gather() doc
2014-02-09 01:35:24 +01:00
Victor Stinner
45b27ed53d
asyncio doc: document the granularity of the event loop
...
Improve also the "Logging" section
2014-02-01 02:36:43 +01:00
Victor Stinner
1ad5afc050
asyncio: document iscoroutine(), iscoroutinefunction() and wait_for()
...
Mention that wait_for() now accepts None for the timeout.
2014-01-30 00:18:50 +01:00
Victor Stinner
f40c66334d
asyncio doc: close the loop at exit
2014-01-28 23:32:40 +01:00