Skip to content

Feature: Pause and Resume Scan Functionality #10

Description

@techmore

Summary

Add true pause-and-resume support for long-running scan jobs.

The current runtime already supports starting jobs, reporting status, and cancelling running scan/report work. What is missing is a resumable execution model that can stop work intentionally without discarding useful progress.

Current State

  • scan and report jobs have active job-state tracking
  • cancellation exists
  • the UI already exposes pause/resume affordances, but there is no real resumable backend workflow behind them

Remaining Problem

Today, interrupting a long-running scan effectively means cancellation. Users cannot pause work and later continue from a stable checkpoint.

For large networks or long report-generation flows, that means:

  • partial progress is lost
  • long operations must restart from the beginning
  • the existing UI controls are more suggestive than real

Proposed Scope

  1. Execution Model
  • define what can realistically be paused and resumed
  • distinguish between quick scan, deep scan, chunked report scan, and PDF-only tasks
  • prefer resumable checkpoints at safe workflow boundaries instead of pretending every subprocess can be suspended transparently
  1. State Persistence
  • store enough progress to resume meaningfully
  • preserve discovered results and remaining work units where practical
  • avoid duplicate scanning when resuming from chunked or multi-target work
  1. UI Behavior
  • make pause/resume controls reflect actual backend capability
  • show whether a job is pausable, paused, resuming, or only cancellable

Implementation Notes

Likely touch points in the current architecture:

  • job registry and job-status events
  • scan/report workflow orchestration
  • frontend job controls and status rendering

This should be designed around checkpointed workflow resumption, not around attempting to suspend arbitrary nmap subprocesses mid-packet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions