]> _ Git - fluidbook-toolbox.git/commitdiff
wait #5127 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 May 2022 17:12:54 +0000 (19:12 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 May 2022 17:12:54 +0000 (19:12 +0200)
.idea/workspace.xml
app/Console/Commands/Precache.php
app/Console/Kernel.php
app/Fields/FluidbookDevelopmentVersion.php

index f45e4ffa40eac47e2068713de40bd30ff92654c3..65cbb4bc6eb6dedf91def4cd55e3688b9af7ebe9 100644 (file)
     <select />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wait #5265">
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+    <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wip #5279 @1">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningMedia/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningMedia/DownloadOperation.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningPackage/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningPackage/DownloadOperation.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/FluidbookCollection/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/FluidbookCollection/DownloadOperation.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/Models/CubedesignersEmails.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/CubedesignersEmails.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Console/Commands/Precache.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Commands/Precache.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Console/Kernel.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Kernel.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Fields/FluidbookDevelopmentVersion.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Fields/FluidbookDevelopmentVersion.php" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
       <workItem from="1652177641382" duration="4133000" />
       <workItem from="1652252396495" duration="7552000" />
       <workItem from="1652268786509" duration="1257000" />
-      <workItem from="1652692762350" duration="3475000" />
-    </task>
-    <task id="LOCAL-00228" summary="wip #5045 @3">
-      <created>1643626707430</created>
-      <option name="number" value="00228" />
-      <option name="presentableId" value="LOCAL-00228" />
-      <option name="project" value="LOCAL" />
-      <updated>1643626707430</updated>
+      <workItem from="1652692762350" duration="3636000" />
+      <workItem from="1652718109996" duration="2775000" />
     </task>
     <task id="LOCAL-00229" summary="wait #5045">
       <created>1643643166162</created>
       <option name="project" value="LOCAL" />
       <updated>1652262608514</updated>
     </task>
-    <option name="localTasksCounter" value="277" />
+    <task id="LOCAL-00277" summary="wip #5279 @1">
+      <created>1652696273554</created>
+      <option name="number" value="00277" />
+      <option name="presentableId" value="LOCAL-00277" />
+      <option name="project" value="LOCAL" />
+      <updated>1652696273554</updated>
+    </task>
+    <option name="localTasksCounter" value="278" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
     <option name="CHECK_NEW_TODO" value="false" />
     <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
-    <MESSAGE value="wip #5093 @3" />
     <MESSAGE value="wip #5041 @0.25" />
     <MESSAGE value="wait #5109 @2.5" />
     <MESSAGE value="wip #5127 @1" />
     <MESSAGE value="wip #5228 @1.5" />
     <MESSAGE value="wait #5265 @3" />
     <MESSAGE value="wait #5265" />
-    <option name="LAST_COMMIT_MESSAGE" value="wait #5265" />
+    <MESSAGE value="wip #5279 @1" />
+    <option name="LAST_COMMIT_MESSAGE" value="wip #5279 @1" />
   </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />
index f708f335fa2989ec593dc5a3bb287e653ea12c43..46835bd1c8de7b180fac0529e0a67a4b85cd9a58 100644 (file)
@@ -19,6 +19,7 @@ use App\Models\User;
 use Cubedesigners\UserDatabase\Permissions;
 use Cubist\Backpack\Console\Commands\CubistCommand;
 use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+use Cubist\Util\PHP;
 
 class Precache extends CubistCommand
 {
@@ -28,11 +29,11 @@ class Precache extends CubistCommand
 
     public function handle()
     {
+        set_time_limit(300);
         $actions = [
             'Cache user data' => 'class:' . User::class,
             'Cache company data' => 'class:' . Company::class,
             'Cache permissions data' => 'permissions',
-            'Cache fluidbook publication data' => 'class:' . FluidbookPublication::class,
             'Cache fluidbook quote data' => 'class:' . FluidbookQuote::class,
             'Cache fluidbook theme data' => 'class:' . FluidbookTheme::class,
             'Cache fluidbook icon set data' => 'class:' . FluidbookIconset::class,
@@ -42,6 +43,7 @@ class Precache extends CubistCommand
             'Cache quiz data' => 'class:' . Quiz::class,
             'Cache elearning media data' => 'class:' . ELearningMedia::class,
             'Cache elearning package data' => 'class:' . ELearningPackage::class,
+            'Cache fluidbook publication data' => 'class:' . FluidbookPublication::class,
         ];
 
         $user = AuthUser::where('id', self::$_admin)->first();
@@ -68,20 +70,18 @@ class Precache extends CubistCommand
         if (method_exists($this, $actionName)) {
             return $this->$actionName();
         }
-        if (strpos($actionName, 'class:')) {
-            return $this->preCacheClass(substr($actionName, 6));
+        if (str_contains($actionName, 'class:')) {
+            $class = substr($actionName, 6);
+            return $this->preCacheClass($class);
         }
 
     }
 
     protected function preCacheClass($className)
     {
-        $instances = $className::withoutGlobalScopes()->get();
-        foreach ($instances as $instance) {
-            if ($instance instanceof CubistMagicAbstractModel) {
-                $instance->preCache();
-            }
-            break;
+        $instance = $className::withoutGlobalScopes()->first();
+        if ($instance instanceof CubistMagicAbstractModel) {
+            $instance->preCache();
         }
     }
 
index a92685c95b2b66568258951b5fb50d62579d1005..2a65121f5d43e25700507fc7efb3cc0d8b5b8888 100644 (file)
@@ -26,7 +26,7 @@ class Kernel extends \Cubist\Backpack\Console\Kernel
     {
 
         parent::schedule($schedule);
-        $schedule->command('ws:precache')->everyMinute();
+        $schedule->command('ws:precache')->everyFiveMinutes();
         $schedule->command('job:dispatch ProcessTotals')->everyTwoHours();
 
     }
index b490bd4dc6f5cf0811c59b4cebfff10c3ffaa007..4dfe2b6f2d37ecb5437bdf4c536f9117a7c39bb3 100644 (file)
@@ -6,14 +6,26 @@ use Cubist\Backpack\Magic\Fields\SelectFromArray;
 
 class FluidbookDevelopmentVersion extends SelectFromArray
 {
+    protected static $__options = null;
+
     /**
      * @throws \JsonException
      */
     public function getOptions()
     {
-        $versions = json_decode(file_get_contents('/home/extranet/www/fluidbook/cache/activebranches'), true, 512, JSON_THROW_ON_ERROR);
+        if (null === self::$__options) {
+            self::$__options = $this->_getOptions();
+        }
+        return self::$__options;
+    }
+
+    protected function _getOptions()
+    {
+        $cacheFile = file_get_contents('/data1/extranet/www/fluidbook/cache/activebranches');
+
+        $versions = json_decode($cacheFile, true, 512, JSON_THROW_ON_ERROR);
         $res = ['stable' => 'master : git (stable)',
-            'dev'=> 'master : local (dev)'];
+            'dev' => 'master : local (dev)'];
 
         foreach ($versions as $version) {
             if ($version === 'master') {