nextcloud / nextcloud/server

Background Jobs control page

Open
#34,445 5 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage enhancement feature: occ performance 🚀
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
Lately I'm experiencing high CPU usage troughout the whole work day in my 24.0.5 server instance (40-50 active users, 250k files, 800 GB).
I've been trying to find the root cause and it seems to be related to a background job that is generating a huge amount of queries in mysql. Still working on that.

Describe the solution you'd like
As an admin user I'd expect to be able to find a simple page (or page section) in the "Settings" area, showing the currently running jobs and a "stop" button to stop them (and also an equally useful "run" button).
Something like a table view showing Job name, a description, status (running/idle), running time, next run time if possible, and the action buttons.
Advantages:

  • it would be easy then for me to encircle the background job that's causing me problems and further work on optimizing my setup to minimize the impact.
  • In addition to the "stop" and "run" actions there could be "enable/disable", "set a good time to go" and so on...
  • The admin user will become more aware of the presence of background jobs, more confident with controlling the installation and its performance, will complain much less about this or that slowness (just because basically he/she doesn't know what's causing it and doesn't have a chance to stop a background job to see if that was the cause).

Describe alternatives you've considered
A CLI-side basic support for controlling the status of the background jobs.

Additional context

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name files or tests. Start by locating the Settings area and the background-job implementation, then review whether the proposed CLI control alternative already exists. Done means an agreed design and an admin interface that shows job status and supports the requested job actions.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
backend, full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.