diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-08 11:19:35 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-08 11:19:35 +0200 |
commit | 30416ecb91c8c81388cd77b4e2ca715a31a4c4ff (patch) | |
tree | c38ef7021edc21d192bf13bdc3f8e668b5da8c1e /asyncio/tasks.py | |
parent | 69686f82c0fad642fc04f2257ac006adf6cc3ac5 (diff) | |
download | trollius-30416ecb91c8c81388cd77b4e2ca715a31a4c4ff.tar.gz |
Tulip issue #185: Add a create_task() method to event loops
The create_task() method can be overriden in custom event loop to implement
their own task class. For example, greenio and Pulsar projects use their own
task class.
The create_task() method is now preferred over creating directly task using the
Task class.
Diffstat (limited to 'asyncio/tasks.py')
-rw-r--r-- | asyncio/tasks.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/asyncio/tasks.py b/asyncio/tasks.py index 8c7217b..befc296 100644 --- a/asyncio/tasks.py +++ b/asyncio/tasks.py @@ -505,7 +505,9 @@ def async(coro_or_future, *, loop=None): raise ValueError('loop argument must agree with Future') return coro_or_future elif coroutines.iscoroutine(coro_or_future): - task = Task(coro_or_future, loop=loop) + if loop is None: + loop = events.get_event_loop() + task = loop.create_task(coro_or_future) if task._source_traceback: del task._source_traceback[-1] return task |