Make sure the cache is only reset once at a time
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
4011d97a2b
commit
8d68e9e323
|
@ -269,8 +269,8 @@ class SCSSCacher {
|
||||||
private function variablesChanged(): bool {
|
private function variablesChanged(): bool {
|
||||||
$injectedVariables = $this->getInjectedVariables();
|
$injectedVariables = $this->getInjectedVariables();
|
||||||
if ($this->config->getAppValue('core', 'theming.variables') !== md5($injectedVariables)) {
|
if ($this->config->getAppValue('core', 'theming.variables') !== md5($injectedVariables)) {
|
||||||
$this->resetCache();
|
|
||||||
$this->config->setAppValue('core', 'theming.variables', md5($injectedVariables));
|
$this->config->setAppValue('core', 'theming.variables', md5($injectedVariables));
|
||||||
|
$this->resetCache();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -364,6 +364,9 @@ class SCSSCacher {
|
||||||
* We need to regenerate all files when variables change
|
* We need to regenerate all files when variables change
|
||||||
*/
|
*/
|
||||||
public function resetCache() {
|
public function resetCache() {
|
||||||
|
if (!$this->lockingCache->add('resetCache', 'locked!', 120)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
$this->injectedVariables = null;
|
$this->injectedVariables = null;
|
||||||
|
|
||||||
// do not clear locks
|
// do not clear locks
|
||||||
|
@ -381,6 +384,7 @@ class SCSSCacher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->logger->debug('SCSSCacher: css cache cleared!');
|
$this->logger->debug('SCSSCacher: css cache cleared!');
|
||||||
|
$this->lockingCache->remove('resetCache');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue