2016-08-09 2 views
0

, 콜백()가 repsective 시간 (현재 + 0.2and 지금 + 0.1) 또한 스토퍼()에서 호출되지, 무슨 일이asyncio 예약 콜백은 다음 코드에서

def callback(n,loop): 
     print('Callback {} invoked at {}'.format(n,loop.time())) 

    def stopper(loop): 
     print("Stopper invoked at {}".format(loop.time())) 
     loop.stop() 

    event_loop = asyncio.get_event_loop() 
    try: 
     now =event_loop.time() 
     print('clock time: {}'.format(time.time())) 
     print('loop time: {}'.format(now)) 
     print('Registering callbacks') 
     event_loop.call_later(now + 0.2,callback,1,event_loop) 
     event_loop.call_later(now + 0.1,callback,2,event_loop) 
     event_loop.call_later(now + 0.3,stopper,event_loop) 
     event_loop.call_soon(callback,3,event_loop) 
     print('Entering event loop') 
     event_loop.run_forever() 
    finally: 
     print('Closing event loop') 
     event_loop.close(); 
+0

"해당 시간대가 아닌"의미를 더 잘 설명하십시오. 언제 전화를 걸 것으로 기대합니까? 실제로 전화를받는 것은 언제입니까? – deceze

+0

callback()이 지금 + 0.2 및 지금 + 0.1에서 호출되지 않았습니다. – Rajeev

답변

2
여기에 잘못

.call_later(delay, cb, *args)delay 매개 변수, 시간 델타 (초) (float)가 필요합니다.

하지만이 호출에는 now + delay을 전달합니다.

now을 삭제하거나 .call_later().call_at()으로 대체하십시오.