Merge pull request #39473 from nextcloud/fix/parallel-aware-job
fix(IParallelAwareJob): Check for other reserved jobs before setting new ones as reservedpull/39616/head
commit
53392861ff
@ -0,0 +1,37 @@ |
||||
<?php |
||||
/** |
||||
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> |
||||
* This file is licensed under the Affero General Public License version 3 or |
||||
* later. |
||||
* See the COPYING-README file. |
||||
*/ |
||||
|
||||
namespace Test\BackgroundJob; |
||||
|
||||
use OCP\AppFramework\Utility\ITimeFactory; |
||||
|
||||
class TestParallelAwareJob extends \OCP\BackgroundJob\Job { |
||||
private $testCase; |
||||
|
||||
/** |
||||
* @var callable $callback |
||||
*/ |
||||
private $callback; |
||||
|
||||
/** |
||||
* @param JobTest $testCase |
||||
* @param callable $callback |
||||
*/ |
||||
public function __construct(ITimeFactory $time = null, $testCase = null, $callback = null) { |
||||
parent::__construct($time ?? \OC::$server->get(ITimeFactory::class)); |
||||
$this->setAllowParallelRuns(false); |
||||
$this->testCase = $testCase; |
||||
$this->callback = $callback; |
||||
} |
||||
|
||||
public function run($argument) { |
||||
$this->testCase->markRun(); |
||||
$callback = $this->callback; |
||||
$callback($argument); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue