gregsexton / gregsexton/ob-ipython

Async execution impossible after kernel kill

Open
#205 1 comment 3 reactions 0 assignees View on GitHub
Dominant language
Emacs Lisp
Stars
742
Forks
107
PR merge metrics
No merged PRs in 30d

Description

When killing a kernel (ob-ipython-kill-kernel), it is impossible to run async code blocks. They will be put to the execution queue (ob-ipython--async-queue), yet execution does not start.
The reason for this is that ob-ipython-kill-kernel kills the kernel, but not the main ipython process.
As a result, when a new async block is executed, it detects two things:
- There is a running process
- There are elements in the async queue already
Based on these two observations it is inferred that there is some python code cell running at the moment and nothing should be done (but putting the planned execution in the queue).

Suggested solutions:

- ob-ipython-kill-kernel should kill both the kernel, and the ipython process
- ob-ipython-kill-kernel should empty the ob-ipython-async-queue

I just had a brief look at the relevant code am not so familiar with it so I'm curious what others think of this issue

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.