Skip to content

Commit 7eb22cb

Browse files
committed
fix: corretto calcolo next_execution_at per evitare date passate
1 parent ea2caf9 commit 7eb22cb

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/Tasks/Task.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,15 @@ public function registerNextExecution(Carbon $now)
9999
{
100100
$cron = CronExpression::factory($this->expression);
101101
$next_time = $now->copy()->addSecond();
102-
$this->next_execution_at = Carbon::instance($cron->getNextRunDate($next_time));
102+
$calculated_next = Carbon::instance($cron->getNextRunDate($next_time));
103+
104+
// Correzione bug: verifica che la prossima esecuzione non sia nel passato
105+
if ($calculated_next->lessThanOrEqualTo($now)) {
106+
// Se la data calcolata è nel passato o uguale a ora, calcola la successiva
107+
$calculated_next = Carbon::instance($cron->getNextRunDate($calculated_next->addSecond()));
108+
}
109+
110+
$this->next_execution_at = $calculated_next;
103111
}
104112

105113
public function delete()

0 commit comments

Comments
 (0)