Signed-off-by: Marcel Klehr <mklehr@gmx.net>
--- /dev/null
+<?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;
+}
*
* @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;
* @return void
* @since 27.0.0
*/
- public function setAllowParallelRuns(bool $allow) {
+ public function setAllowParallelRuns(bool $allow): void {
$this->allowParallelRuns = $allow;
}