2015-05-01 12 views
12

Ich möchte Asyncios nicht ermittelte Coroutine-Erkennung aktivieren, aber nicht erfolgreich.Python asyncio Debugging-Beispiel

Dieser einfache Code setzt die Empfehlungen auf:
https://docs.python.org/3/library/asyncio-dev.html#asyncio-logger

aber nicht fangen tatsächlich die un-nachgegeben 'Dummy' Koroutine.

Ich erwartete, dass das Programm mit einer Warnung über die Coroutine 'Dummy' enden würde, erstellt, aber nicht von ergeben.

Eigentlich Ergebnisse sind:

DEBUG:asyncio:Using selector: SelectSelector 
creating dummy 
sys:1: ResourceWarning: unclosed <socket object at 0x02DCB6F0> 
c:\python34\lib\importlib\_bootstrap.py:2150: ImportWarning: sys.meta_path is empty 
sys:1: ResourceWarning: unclosed <socket object at 0x02DE10C0> 

Keine Spur von einem verlassenen Koroutine. Was vermisse ich?

Antwort

19

asyncio prüft beim Modulimport nach PYTHONASYNCIODEBUG.

So müssen Sie das Setup-Umgebungsvariable vor ersten asyncio Import:

import os 
os.environ['PYTHONASYNCIODEBUG'] = '1' 
import asyncio 

# rest of your file 
+0

Das war alles, danke. – Rdbhost

+0

s/Import sys/Import os/ – djh

+0

Korrigiert. @djh danke! –