From 266a1e88fa72935725244ad41d8be60332cafef5 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 10 May 2017 11:54:27 +0200 Subject: [PATCH 1/2] Define method shouldRun Signed-off-by: Joas Schilling --- .../lib/BackgroundJobs/RetryJob.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php index faeef05da17..53c101cd933 100644 --- a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php +++ b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php @@ -19,11 +19,11 @@ * */ - namespace OCA\LookupServerConnector\BackgroundJobs; use OC\BackgroundJob\Job; +use OC\BackgroundJob\JobList; use OCP\BackgroundJob\IJobList; use OCP\Http\Client\IClientService; use OCP\ILogger; @@ -35,6 +35,8 @@ class RetryJob extends Job { private $jobList; /** @var string */ private $lookupServer = 'https://lookup.nextcloud.com/users'; + /** @var int how much time should be between two tries (10 minutes) */ + private $interval = 600; /** * @param IClientService $clientService @@ -53,12 +55,10 @@ class RetryJob extends Job { * @param ILogger $logger */ public function execute($jobList, ILogger $logger = null) { - if ($this->shouldRun($this->argument)) { parent::execute($jobList, $logger); $jobList->remove($this, $this->argument); } - } protected function run($argument) { @@ -81,9 +81,20 @@ class RetryJob extends Job { [ 'dataArray' => $argument['dataArray'], 'retryNo' => $argument['retryNo'] + 1, + 'lastRun' => time(), ] ); } } + + /** + * test if it is time for the next run + * + * @param array $argument + * @return bool + */ + protected function shouldRun($argument) { + return !isset($argument['lastRun']) || ((time() - $argument['lastRun']) > $this->interval); + } } From 5c20d2ca8ce8f7c6198704acd6037f2b62bcc180 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 10 May 2017 11:59:14 +0200 Subject: [PATCH 2/2] Use the configured lookup server Signed-off-by: Joas Schilling --- .../lib/BackgroundJobs/RetryJob.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php index 53c101cd933..3bc955f2fc1 100644 --- a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php +++ b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php @@ -26,6 +26,7 @@ use OC\BackgroundJob\Job; use OC\BackgroundJob\JobList; use OCP\BackgroundJob\IJobList; use OCP\Http\Client\IClientService; +use OCP\IConfig; use OCP\ILogger; class RetryJob extends Job { @@ -34,18 +35,24 @@ class RetryJob extends Job { /** @var IJobList */ private $jobList; /** @var string */ - private $lookupServer = 'https://lookup.nextcloud.com/users'; + private $lookupServer; /** @var int how much time should be between two tries (10 minutes) */ private $interval = 600; /** * @param IClientService $clientService * @param IJobList $jobList + * @param IConfig $config */ public function __construct(IClientService $clientService, - IJobList $jobList) { + IJobList $jobList, + IConfig $config) { $this->clientService = $clientService; $this->jobList = $jobList; + + $this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com'); + $this->lookupServer = rtrim($this->lookupServer, '/'); + $this->lookupServer .= '/users'; } /**