From 51f7297e1d07ecfb06759cec2be4d9f33b33f51a Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Thu, 20 Apr 2023 14:03:55 +0200 Subject: [PATCH] feat(IParallelAwareJob): Document setAllowParallelRuns Signed-off-by: Marcel Klehr --- developer_manual/basics/backgroundjobs.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/developer_manual/basics/backgroundjobs.rst b/developer_manual/basics/backgroundjobs.rst index 3cfdb9369..8b8dd4e2a 100644 --- a/developer_manual/basics/backgroundjobs.rst +++ b/developer_manual/basics/backgroundjobs.rst @@ -85,6 +85,18 @@ or similar things, consider flagging it as time insensitive in the constructor. This allows the Nextcloud to delay the job until a given nightly time window so the users are not that impacted by the heavy load of the background job. +Configuring parallelism +^^^^^^^^^^^^^^^^^^^^^^^ + +With resource-heavy background jobs that run for longer than a few minutes, be they ``QueuedJob`` and ``TimedJob`` instances, you may want to restrict parallelism to prevent multiple such jobs from clogging up your machine's resources. You can do this with the ``setAllowParallelRuns`` method of ``OCP\BackgroundJob\Job`` (``QueuedJob`` and ``TimedJob`` both inherit from this class, so they also have this available). + +.. code-block:: php + + setAllowParallelRuns(false); + Registering a background job ----------------------------