Skip to content

No way to cancel or clear queued maintenance tasks #69

Description

@Navino16

Description

When maintenance tasks accumulate in the daemon queue, for example after a long-running sync, there does not appear to be any way to cancel individual queued tasks or clear the pending queue from the Web UI.

The active task can be stopped, but the queued tasks remain and are executed one after another afterwards.

Observed behavior

In my case, the queue accumulated 14 maintenance tasks, including:

  • maintenance report
  • maintenance scrub
  • maintenance sync
  • maintenance up

The active sync had already been running for several days and eventually ended in an error. Despite stopping the active task, the queued maintenance jobs remained scheduled.

Impact

Once the active task stops, the daemon continues executing stale queued jobs.
This can cause:

  • unnecessary disk spin-ups;
  • repeated reads of the entire array;
  • unnecessary parity/scrub work;
  • additional I/O contention;
  • significantly longer recovery time after a failed or interrupted task;
  • repeated notifications for obsolete maintenance requests.

This is especially problematic for large arrays where a single sync or scrub can take many hours or days.

Expected behavior

The Tasks UI should provide a way to:

  • cancel one selected queued task
  • optionally clear all queued tasks

A queue deduplication mechanism could also help prevent multiple pending sync, scrub, report, or up tasks from accumulating when an equivalent task is already queued or running.

Environment

  • SnapRAID Daemon: 1.14
  • SnapRAID CLI: 14.9
  • Linux

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions