|
|
@@ -14,7 +14,13 @@ class MenuService
|
|
|
public function getMenu()
|
|
|
{
|
|
|
if (!Cache::has("menus")){
|
|
|
- if (Cache::lock("menus",1))$this->setMenu();
|
|
|
+ if (Cache::lock("menus",2)){
|
|
|
+ $this->setMenu();
|
|
|
+ Cache::lock("menus")->release();
|
|
|
+ }else{
|
|
|
+ sleep(1);
|
|
|
+ return Cache::get("menus") ?? [];
|
|
|
+ }
|
|
|
}
|
|
|
return Cache::get("menus");
|
|
|
}
|
|
|
@@ -25,9 +31,12 @@ class MenuService
|
|
|
Cache::tags("menu")->flush();
|
|
|
}
|
|
|
|
|
|
- public function appendMenu()
|
|
|
+ public function appendMenu(Menu $menu)
|
|
|
{
|
|
|
-
|
|
|
+ $menus = $this->getMenu();
|
|
|
+ if ($menus){
|
|
|
+ $menus->add($menu);
|
|
|
+ Cache::forever("menus",$menus);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|