(original) (raw)
import asyncio import gc import sys class MyObject: def __del__(self): print("DELETE OBJECT") @asyncio.coroutine def func(fut): obj = MyObject() try: raise ValueError() except Exception as err: fut.set_exception(err) def collect(): print("gc.collect") gc.collect() def stop(): print("stop!") loop.stop() fut = asyncio.Future() asyncio.Task(func(fut)) loop = asyncio.get_event_loop() loop.call_later(2, collect) loop.call_later(4, stop) loop.run_forever() loop.close() print("exit")