From 6cb73d803550f8e314c760d4af39661c9829b21f Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 2 Dec 2025 12:22:40 +0100 Subject: [PATCH] wip #7861 @0.75 --- src/app/Magic/Menu/Menu.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/Magic/Menu/Menu.php b/src/app/Magic/Menu/Menu.php index 0141f5e..564d2ff 100644 --- a/src/app/Magic/Menu/Menu.php +++ b/src/app/Magic/Menu/Menu.php @@ -65,22 +65,22 @@ class Menu extends BaseMenu } if (!isset(self::$_nav[$variant][$locale])) { - \Barryvdh\Debugbar\Facade::startMeasure('nav', 'Init Navigation object ' . $variant . ', ' . $locale); - self::$_nav[$variant][$locale] = Cache::tags(self::CACHE_TAG)->remember('navigation_' . $variant . '_' . $locale . '_' . $viewOffline, 43200, function () use ($locale, $variant, $viewOffline) { - - return Cache::lock('navigation_' . $variant . '_' . $locale . '_' . $viewOffline, 60)->get(function () use ($locale, $variant, $viewOffline) { + $cacheKey = 'navigation_' . $variant . '_' . $locale . '_' . $viewOffline; + $lock = Cache::lock('lock_' . $cacheKey, 120); + $lock->block(120, function () use ($viewOffline, $cacheKey, $variant, $locale) { + \Barryvdh\Debugbar\Facade::startMeasure('nav', 'Init Navigation object ' . $variant . ', ' . $locale); + self::$_nav[$variant][$locale] = Cache::tags(self::CACHE_TAG)->remember($cacheKey, 43200, function () use ($locale, $variant, $viewOffline) { \Barryvdh\Debugbar\Facade::startMeasure('donav', 'Do Navigation object ' . $variant . ', ' . $locale); $nav = new Item(); $nav->setLocale($locale); $nav->setVariant($variant); $nav->initFromDatabase('#root', $viewOffline); - \Barryvdh\Debugbar\Facade::stopMeasure('donav'); return $nav; }); - + \Barryvdh\Debugbar\Facade::stopMeasure('nav'); }); - \Barryvdh\Debugbar\Facade::stopMeasure('nav'); + } return self::$_nav[$variant][$locale]; -- 2.39.5