From 33de91cc86be4f5443df0602854980f79f1aad32 Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Tue, 8 Sep 2026 10:44:19 -0400 Subject: [PATCH] Delete dead RecurringTicketModel::updateAfterRun() (#90) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zero callers anywhere in the codebase — superseded by claimForRun(), which the cron script actually uses and which additionally guards against the double-fire race between concurrent cron invocations that this method lacked. Removing it so a future reuse doesn't silently reintroduce that race. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01MGDKHiU5RJdo3dqQUDow3X --- models/RecurringTicketModel.php | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/models/RecurringTicketModel.php b/models/RecurringTicketModel.php index 500a14f..58a1cf0 100644 --- a/models/RecurringTicketModel.php +++ b/models/RecurringTicketModel.php @@ -189,30 +189,6 @@ class RecurringTicketModel return $claimed; } - /** - * Update last run and calculate next run time - */ - public function updateAfterRun($recurringId) - { - $recurring = $this->getById($recurringId); - if (!$recurring) { - return false; - } - - $nextRun = $this->calculateNextRunTime( - $recurring['schedule_type'], - $recurring['schedule_day'], - $recurring['schedule_time'] - ); - - $sql = "UPDATE recurring_tickets SET last_run_at = NOW(), next_run_at = ? WHERE recurring_id = ?"; - $stmt = $this->conn->prepare($sql); - $stmt->bind_param('si', $nextRun, $recurringId); - $success = $stmt->execute(); - $stmt->close(); - return $success; - } - /** * Calculate the next run time based on schedule */