dalejung / ipy_node

Apache License 2.0
0 stars 0 forks source link

use iopub 'idle' instead of execute_reply to clean up deferred #9

Open dalejung opened 11 years ago

dalejung commented 11 years ago

https://github.com/ipython/ipython/issues/2524

I use execute_reply to signal the end, but i think iopub 'idle' might be the way to go.

dalejung commented 11 years ago

I'm using execute_reply to cleanup execute calls that don't send any output.

This works fine if excute_reply always comes after output. However, it randomly comes in afterwards. AFAIK, it should come in after but apparently it's not guaranteed.

Oddly, it seems like the iopub idle event always comes in after data. Not sure why.

Could be that the fake browser is getting the data afterwards because i'm sending large json. so maybe node.js is getting it in the right order, but due to some processing it's not coming in the right order. Doubtful about that though.

perhaps check against iopub.idle?

Either way, i'd be nice to change the callback into a registry that can keep track of what the current deferred is.

dalejung commented 11 years ago

confirmed that iopub 'idle' is the correct event. However, execute_reply with a delay seems to be working fine for now.