Skip to content

Cancellable recordings #192

@jcfitzpatrick12

Description

@jcfitzpatrick12

Description

Currently, clients lack the ability to cancel in-progress recordings or receive updates on their progress. This causes unexpected behaviour. For example, if a CLI client interrupts any spectre record commands, the recording continues in the background. The only way to terminate a recording before the duration has elapsed is to restart the entire backend server.

As it stands, to record a signal clients send a POST request to the API endpoint, which triggers this service function. This, in turn, starts a recording via this function in spectre_core. The server then polls the recording status until completion, only responding to the client once it succeeds or fails. For long recordings, this results in a delayed server response. An entirely similar flow occurs for recording spectrograms.

We need to:

  • Stream recording progress updates to the client.
  • Enable clients to cancel a recording before the duration has formally elapsed.
  • Handle this in such a way the API endpoint may be used by a CLI client or a future GUI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions