]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add IParallelAwareJob interface
authorMarcel Klehr <mklehr@gmx.net>
Thu, 20 Apr 2023 11:55:28 +0000 (13:55 +0200)
committerMarcel Klehr <mklehr@gmx.net>
Sun, 23 Apr 2023 10:36:12 +0000 (12:36 +0200)
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
lib/public/BackgroundJob/IParallelAwareJob.php [new file with mode: 0644]
lib/public/BackgroundJob/Job.php

diff --git a/lib/public/BackgroundJob/IParallelAwareJob.php b/lib/public/BackgroundJob/IParallelAwareJob.php
new file mode 100644 (file)
index 0000000..9374901
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+
+namespace OCP\BackgroundJob;
+
+interface IParallelAwareJob {
+       /**
+        * Set this to false to prevent two Jobs from the same class from running in parallel
+        *
+        * @param bool $allow
+        * @return void
+        * @since 27.0.0
+        */
+       public function setAllowParallelRuns(bool $allow): void;
+
+       /**
+        * @return bool
+        * @since 27.0.0
+        */
+       public function getAllowParallelRuns(): bool;
+}
index 89ea41381c96f5819a8b0ed627c59a9a74c4715f..c1e129f12212ef20914240890b0a82b3387c166e 100644 (file)
@@ -38,7 +38,7 @@ use Psr\Log\LoggerInterface;
  *
  * @since 15.0.0
  */
-abstract class Job implements IJob {
+abstract class Job implements IJob, IParallelAwareJob {
        protected int $id = 0;
        protected int $lastRun = 0;
        protected $argument;
@@ -145,7 +145,7 @@ abstract class Job implements IJob {
         * @return void
         * @since 27.0.0
         */
-       public function setAllowParallelRuns(bool $allow) {
+       public function setAllowParallelRuns(bool $allow): void {
                $this->allowParallelRuns = $allow;
        }