diff options
author | C. Montero Luque <cmonteroluque@users.noreply.github.com> | 2016-04-26 14:50:02 -0400 |
---|---|---|
committer | C. Montero Luque <cmonteroluque@users.noreply.github.com> | 2016-04-26 14:50:02 -0400 |
commit | 4f5c03e3103ba70541db1176ac57f77f89a89ad6 (patch) | |
tree | a0bf6a6ce15389eb8bf8e1845fde0c781d2cf6f8 /lib | |
parent | 36bba775750182c65d7590f3a728343d930c3c9f (diff) | |
parent | 1397d9a93c0b86f412688825871cbbe8b841f9b5 (diff) | |
download | nextcloud-server-4f5c03e3103ba70541db1176ac57f77f89a89ad6.tar.gz nextcloud-server-4f5c03e3103ba70541db1176ac57f77f89a89ad6.zip |
Merge pull request #24261 from owncloud/scanner-propagate-9
[9.0] triger the propagator from the command line scanner
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/files/utils/scanner.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php index 06526583899..b013cbecabc 100644 --- a/lib/private/files/utils/scanner.php +++ b/lib/private/files/utils/scanner.php @@ -29,6 +29,7 @@ use OC\Files\Filesystem; use OC\ForbiddenException; use OC\Hooks\PublicEmitter; use OC\Lock\DBLockingProvider; +use OCP\Files\Storage\IStorage; use OCP\Files\StorageNotAvailableException; use OCP\ILogger; @@ -153,6 +154,17 @@ class Scanner extends PublicEmitter { $scanner->setUseTransactions(false); $this->attachListener($mount); $isDbLocking = \OC::$server->getLockingProvider() instanceof DBLockingProvider; + + $scanner->listen('\OC\Files\Cache\Scanner', 'removeFromCache', function ($path) use ($storage) { + $this->triggerPropagator($storage, $path); + }); + $scanner->listen('\OC\Files\Cache\Scanner', 'updateCache', function ($path) use ($storage) { + $this->triggerPropagator($storage, $path); + }); + $scanner->listen('\OC\Files\Cache\Scanner', 'addToCache', function ($path) use ($storage) { + $this->triggerPropagator($storage, $path); + }); + if (!$isDbLocking) { $this->db->beginTransaction(); } @@ -168,5 +180,9 @@ class Scanner extends PublicEmitter { } } } + + private function triggerPropagator(IStorage $storage, $internalPath) { + $storage->getPropagator()->propagateChange($internalPath, time()); + } } |