]> _ Git - cubist_cms-back.git/commitdiff
wip #7861 @0.75 backpack3.6
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 2 Dec 2025 11:22:40 +0000 (12:22 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 2 Dec 2025 11:22:40 +0000 (12:22 +0100)
src/app/Magic/Menu/Menu.php

index 0141f5e1dd6d3f3b2e6c054328dc2c137ac5ccea..564d2ffb47241dfe6ce60765e9d5895b2ae7ddd6 100644 (file)
@@ -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];