Skip to content

Async execution impossible after kernel kill #205

@moritzschaefer

Description

@moritzschaefer

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions