Browse Source

increase timespan between each retry

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Bjoern Schiessle 5 years ago
parent
commit
edbe99d44e
1 changed files with 5 additions and 3 deletions
  1. 5 3
      apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php

+ 5 - 3
apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php

@@ -36,8 +36,8 @@ class RetryJob extends Job {
 	private $jobList;
 	/** @var string */
 	private $lookupServer;
-	/** @var int how much time should be between two tries (10 minutes) */
-	private $interval = 600;
+	/** @var int how much time should be between two, will be increased for each retry */
+	private $interval = 100;
 
 	/**
 	 * @param IClientService $clientService
@@ -108,7 +108,9 @@ class RetryJob extends Job {
 	 * @return bool
 	 */
 	protected function shouldRun($argument) {
-		return !isset($argument['lastRun']) || ((time() - $argument['lastRun']) > $this->interval);
+		$retryNo = (int)$argument['retryNo'];
+		$delay = $this->interval * 6 ** $retryNo;
+		return !isset($argument['lastRun']) || ((time() - $argument['lastRun']) > $delay);
 	}
 
 	/**