Jake Vanderwerf
2026-08-28 a9654f00c8fbc9934289d761843ddd071025013f
inc/managers/queue/Storage.php
@@ -7,6 +7,7 @@
use JVBase\managers\Cache;
use JVBase\managers\CustomTable;
use LogicException;
use Throwable;
class Storage
{
@@ -19,7 +20,7 @@
   public function __construct()
   {
      $this->defineTables();
      $this->cache = Cache::for('queue', DAY_IN_SECONDS);
      $this->cache = Cache::for('queue', null, DAY_IN_SECONDS)->user();
   }
   public function hasProcessingOperations(): bool
@@ -168,10 +169,15 @@
   public function insert(Operation $op): bool
   {
      $result = $this->table->insert([
         'id'              => $op->id,
         'type'            => $op->type,
         'user_id'         => $op->userId,
      $existing = $this->find($op->id);
      if ($existing && in_array($existing->state, ['completed', 'processing'] )) {
         $op->id = Queue::generateId($op->userId);
      }
      $result = $this->table->findOrCreate([
            'id'     => $op->id,
            'type'      => $op->type,
            'user_id'   => $op->userId,
         ],[
         'request_data'    => json_encode($op->requestData),
         'total_items'     => $op->totalItems,
         'processed_items' => $op->processedItems,
@@ -406,7 +412,7 @@
         $result = $callback();
         $this->table->commit();
         return $result;
      } catch (\Throwable $e) {
      } catch (Throwable $e) {
         $this->table->rollback();
         error_log('[Storage] Transaction rolled back: ' . $e->getMessage());
         throw $e;
@@ -435,7 +441,7 @@
   }
   /**
    * @throws \Throwable
    * @throws Throwable
    */
   public function replaceDependency(string $fromId, string $toId): int
   {
@@ -548,7 +554,7 @@
         $s = $stats[0] ?? null;
         if (!$s) continue;
         $this->stats->table->query("
         $this->stats->queryResults("
            INSERT INTO {table} (date, type, total_operations, successful_operations, failed_permanent_operations, total_items_processed)
            VALUES (%s, %s, %d, %d, %d, %d)
            ON DUPLICATE KEY UPDATE