From 60336d39a50ab64b5c20ebf0acfac7287b5c55a0 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 15 Feb 2022 20:53:49 +0100 Subject: [PATCH] Added simple caching to Termination and Building workflow --- application/Building/Building.php | 10 +++++-- application/Termination/Termination.php | 10 +++++-- lib/mvcfronk/mfValuecache/mfValuecache.php | 32 ++++++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 lib/mvcfronk/mfValuecache/mfValuecache.php diff --git a/application/Building/Building.php b/application/Building/Building.php index f216558d0..832d08bc3 100644 --- a/application/Building/Building.php +++ b/application/Building/Building.php @@ -80,9 +80,13 @@ class Building extends mfBaseModel { } public function getWorkflowvalue($itemname, $type = false) { - $item = WorkflowitemModel::getFirst(['name' => $itemname]); - if(!$item->id) { - return null; + $item = mfValuecache::get("wfBuilding-".$itemname); + if(!$item) { + $item = WorkflowitemModel::getFirst(['name' => $itemname]); + if(!$item->id) { + return null; + } + mfValuecache::set("wfBuilding-".$itemname, $item); } switch($item->type) { diff --git a/application/Termination/Termination.php b/application/Termination/Termination.php index a5b094073..1375ca2c0 100644 --- a/application/Termination/Termination.php +++ b/application/Termination/Termination.php @@ -36,9 +36,13 @@ class Termination extends mfBaseModel { } public function getWorkflowvalue($itemname, $type = false) { - $item = WorkflowitemModel::getFirst(['name' => $itemname]); - if(!$item->id) { - return null; + $item = mfValuecache::get("wfTerm-".$itemname); + if(!$item) { + $item = WorkflowitemModel::getFirst(['name' => $itemname]); + if(!$item->id) { + return null; + } + mfValuecache::set("wfTerm-".$itemname, $item); } switch($item->type) { diff --git a/lib/mvcfronk/mfValuecache/mfValuecache.php b/lib/mvcfronk/mfValuecache/mfValuecache.php new file mode 100644 index 000000000..7400fb464 --- /dev/null +++ b/lib/mvcfronk/mfValuecache/mfValuecache.php @@ -0,0 +1,32 @@ +cache)) { + return $instance->cache[$key]; + } + return null; + } + + public static function set($key, $value) { + $instance = self::singleton(); + $instance->cache[$key] = $value; + } +} \ No newline at end of file