From a88f6309c65f3ebd1a8c014ce06ba5e78670bb7f Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 19 Nov 2019 17:56:04 +0100 Subject: [PATCH] make chunksize (used to check for gone LDAP users) configurable Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Jobs/CleanUp.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/user_ldap/lib/Jobs/CleanUp.php b/apps/user_ldap/lib/Jobs/CleanUp.php index f905256c69..295cb14c7a 100644 --- a/apps/user_ldap/lib/Jobs/CleanUp.php +++ b/apps/user_ldap/lib/Jobs/CleanUp.php @@ -44,7 +44,7 @@ use OCA\User_LDAP\User\DeletedUsersIndex; */ class CleanUp extends TimedJob { /** @var int $limit amount of users that should be checked per run */ - protected $limit = 50; + protected $limit; /** @var int $defaultIntervalMin default interval in minutes */ protected $defaultIntervalMin = 51; @@ -61,10 +61,10 @@ class CleanUp extends TimedJob { /** @var Helper $ldapHelper */ protected $ldapHelper; - /** @var \OCA\User_LDAP\Mapping\UserMapping */ + /** @var UserMapping */ protected $mapping; - /** @var \OCA\User_LDAP\User\DeletedUsersIndex */ + /** @var DeletedUsersIndex */ protected $dui; public function __construct() { @@ -138,7 +138,7 @@ class CleanUp extends TimedJob { if(!$this->isCleanUpAllowed()) { return; } - $users = $this->mapping->getList($this->getOffset(), $this->limit); + $users = $this->mapping->getList($this->getOffset(), $this->getChunkSize()); if(!is_array($users)) { //something wrong? Let's start from the beginning next time and //abort @@ -156,7 +156,7 @@ class CleanUp extends TimedJob { * @return bool */ public function isOffsetResetNecessary($resultCount) { - return $resultCount < $this->limit; + return $resultCount < $this->getChunkSize(); } /** @@ -222,7 +222,7 @@ class CleanUp extends TimedJob { */ public function setOffset($reset = false) { $newOffset = $reset ? 0 : - $this->getOffset() + $this->limit; + $this->getOffset() + $this->getChunkSize(); $this->ocConfig->setAppValue('user_ldap', 'cleanUpJobOffset', $newOffset); } @@ -231,6 +231,9 @@ class CleanUp extends TimedJob { * @return int */ public function getChunkSize() { + if($this->limit === null) { + $this->limit = (int)$this->ocConfig->getAppValue('user_ldap', 'cleanUpJobChunkSize', 50); + } return $this->limit; }