Use public interfaces
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
9927909a0d
commit
006151604b
|
@ -22,8 +22,8 @@
|
||||||
namespace OCA\LookupServerConnector\BackgroundJobs;
|
namespace OCA\LookupServerConnector\BackgroundJobs;
|
||||||
|
|
||||||
|
|
||||||
use OC\BackgroundJob\Job;
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OC\BackgroundJob\JobList;
|
use OCP\BackgroundJob\Job;
|
||||||
use OCP\BackgroundJob\IJobList;
|
use OCP\BackgroundJob\IJobList;
|
||||||
use OCP\Http\Client\IClientService;
|
use OCP\Http\Client\IClientService;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
@ -42,13 +42,16 @@ class RetryJob extends Job {
|
||||||
private $config;
|
private $config;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param ITimeFactory $time
|
||||||
* @param IClientService $clientService
|
* @param IClientService $clientService
|
||||||
* @param IJobList $jobList
|
* @param IJobList $jobList
|
||||||
* @param IConfig $config
|
* @param IConfig $config
|
||||||
*/
|
*/
|
||||||
public function __construct(IClientService $clientService,
|
public function __construct(ITimeFactory $time,
|
||||||
|
IClientService $clientService,
|
||||||
IJobList $jobList,
|
IJobList $jobList,
|
||||||
IConfig $config) {
|
IConfig $config) {
|
||||||
|
parent::__construct($time);
|
||||||
$this->clientService = $clientService;
|
$this->clientService = $clientService;
|
||||||
$this->jobList = $jobList;
|
$this->jobList = $jobList;
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
|
@ -67,17 +70,17 @@ class RetryJob extends Job {
|
||||||
/**
|
/**
|
||||||
* run the job, then remove it from the jobList
|
* run the job, then remove it from the jobList
|
||||||
*
|
*
|
||||||
* @param JobList $jobList
|
* @param IJobList $jobList
|
||||||
* @param ILogger|null $logger
|
* @param ILogger|null $logger
|
||||||
*/
|
*/
|
||||||
public function execute($jobList, ILogger $logger = null) {
|
public function execute($jobList, ILogger $logger = null): void {
|
||||||
if ($this->shouldRun($this->argument)) {
|
if ($this->shouldRun($this->argument)) {
|
||||||
parent::execute($jobList, $logger);
|
parent::execute($jobList, $logger);
|
||||||
$jobList->remove($this, $this->argument);
|
$jobList->remove($this, $this->argument);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function run($argument) {
|
protected function run($argument): void {
|
||||||
if ($this->killBackgroundJob((int)$argument['retryNo'])) {
|
if ($this->killBackgroundJob((int)$argument['retryNo'])) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -103,11 +106,11 @@ class RetryJob extends Job {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->jobList->add(RetryJob::class,
|
$this->jobList->add(self::class,
|
||||||
[
|
[
|
||||||
'dataArray' => $argument['dataArray'],
|
'dataArray' => $argument['dataArray'],
|
||||||
'retryNo' => $argument['retryNo'] + 1,
|
'retryNo' => $argument['retryNo'] + 1,
|
||||||
'lastRun' => time(),
|
'lastRun' => $this->time->getTime(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -120,10 +123,10 @@ class RetryJob extends Job {
|
||||||
* @param array $argument
|
* @param array $argument
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function shouldRun($argument) {
|
protected function shouldRun(array $argument): bool {
|
||||||
$retryNo = (int)$argument['retryNo'];
|
$retryNo = (int)$argument['retryNo'];
|
||||||
$delay = $this->interval * 6 ** $retryNo;
|
$delay = $this->interval * 6 ** $retryNo;
|
||||||
return !isset($argument['lastRun']) || ((time() - $argument['lastRun']) > $delay);
|
return !isset($argument['lastRun']) || (($this->time->getTime() - $argument['lastRun']) > $delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -138,7 +141,7 @@ class RetryJob extends Job {
|
||||||
* @param int $retryCount
|
* @param int $retryCount
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function killBackgroundJob($retryCount) {
|
protected function killBackgroundJob(int $retryCount): bool {
|
||||||
$maxTriesReached = $retryCount >= 5;
|
$maxTriesReached = $retryCount >= 5;
|
||||||
$lookupServerDisabled = $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') !== 'yes';
|
$lookupServerDisabled = $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') !== 'yes';
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue