mirror of
https://github.com/nextcloud/server.git
synced 2026-04-20 22:00:39 -04:00
fix(files_metadata): Don't run generation job on every upgrade
Signed-off-by: Louis Chemineau <louis@chmn.me>
This commit is contained in:
parent
bb1f27f3df
commit
f00acebf93
1 changed files with 11 additions and 6 deletions
|
|
@ -15,14 +15,14 @@ use OCP\Files\Folder;
|
|||
use OCP\Files\IRootFolder;
|
||||
use OCP\FilesMetadata\Exceptions\FilesMetadataNotFoundException;
|
||||
use OCP\FilesMetadata\IFilesMetadataManager;
|
||||
use OCP\IConfig;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IUserManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class GenerateMetadataJob extends TimedJob {
|
||||
public function __construct(
|
||||
ITimeFactory $time,
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private IRootFolder $rootFolder,
|
||||
private IUserManager $userManager,
|
||||
private IFilesMetadataManager $filesMetadataManager,
|
||||
|
|
@ -36,8 +36,13 @@ class GenerateMetadataJob extends TimedJob {
|
|||
}
|
||||
|
||||
protected function run(mixed $argument): void {
|
||||
if ($this->appConfig->getValueBool('core', 'metadataGenerationDone', false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$lastHandledUser = $this->appConfig->getValueString('core', 'metadataGenerationLastHandledUser', '');
|
||||
|
||||
$users = $this->userManager->search('');
|
||||
$lastHandledUser = $this->config->getAppValue('core', 'metadataGenerationLastHandledUser', '');
|
||||
|
||||
// we'll only start timer once we have found a valid user to handle
|
||||
// meaning NOW if we have not handled any user from a previous run
|
||||
|
|
@ -53,7 +58,7 @@ class GenerateMetadataJob extends TimedJob {
|
|||
continue;
|
||||
}
|
||||
|
||||
$this->config->setAppValue('core', 'metadataGenerationLastHandledUser', $userId);
|
||||
$this->appConfig->setValueString('core', 'metadataGenerationLastHandledUser', $userId);
|
||||
$this->scanFilesForUser($user->getUID());
|
||||
|
||||
// Stop if execution time is more than one hour.
|
||||
|
|
@ -62,8 +67,8 @@ class GenerateMetadataJob extends TimedJob {
|
|||
}
|
||||
}
|
||||
|
||||
$this->jobList->remove(GenerateMetadataJob::class);
|
||||
$this->config->deleteAppValue('core', 'metadataGenerationLastHandledUser');
|
||||
$this->appConfig->deleteKey('core', 'metadataGenerationLastHandledUser');
|
||||
$this->appConfig->setValueBool('core', 'metadataGenerationDone', true);
|
||||
}
|
||||
|
||||
private function scanFilesForUser(string $userId): void {
|
||||
|
|
|
|||
Loading…
Reference in a new issue