WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@zealenth
Copy link

References

When using progressive rendering to render reports that take more than 90s, the report hangs indefinitely.

Reproduced with a cell

import time
time.sleep(91)
print('hi')

Code changes

I tracked this down to tornadoweb/tornado#2021. In our case, the execution handler's on_message method blocks any ping/pong requests from being received, resulting in the websocket being closed after 90s

I've taken their recommend approach and offloaded the notebook handling to spawn_callback.

User-facing changes

Slow reports that previously hung will now render.

Backwards-incompatible changes

@github-actions
Copy link
Contributor

Binder 👈 Launch a Binder on branch zealenth/voila/fix%2Fprogressive-rendering%2Fwebsocket-timeouts

@jtpio jtpio added the bug Something isn't working label Nov 6, 2025
executor.kc = await executor.async_start_new_kernel_client()

# schedule notebook run and return so we don't block other messages
IOLoop.current().spawn_callback(self._run_notebook, nb, executor)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants