diff --git a/src/View/Helper/QueueHelper.php b/src/View/Helper/QueueHelper.php
index 9977c79f..b225062d 100644
--- a/src/View/Helper/QueueHelper.php
+++ b/src/View/Helper/QueueHelper.php
@@ -86,30 +86,6 @@ public function isRequeued(QueuedJob $queuedJob): bool {
return $taskConfig && $queuedJob->attempts <= $taskConfig['retries'];
}
- /**
- * Returns true if job has been manually restarted (reset).
- *
- * A restarted job has been fetched and has attempts, but no failure_message
- * (the failure_message was cleared when the job was reset).
- *
- * @param \Queue\Model\Entity\QueuedJob $queuedJob
- *
- * @return bool
- */
- public function isRestarted(QueuedJob $queuedJob): bool {
- if ($queuedJob->completed || !$queuedJob->fetched) {
- return false;
- }
-
- // Must have attempts (was previously run)
- if ($queuedJob->attempts < 1) {
- return false;
- }
-
- // Must NOT have a failure_message (it was cleared by reset)
- return !$queuedJob->failure_message;
- }
-
/**
* Returns failure status (message) if applicable.
*
@@ -122,8 +98,11 @@ public function failureStatus(QueuedJob $queuedJob): ?string {
return null;
}
+ // No failure message yet: the job is simply running its current attempt,
+ // which is indistinguishable from a reset-and-rerun job, so there is no
+ // distinct failure status to report.
if (!$queuedJob->failure_message) {
- return __d('queue', 'Restarted');
+ return null;
}
$taskConfig = $this->taskConfig($queuedJob->job_task);
diff --git a/templates/Admin/Queue/index.php b/templates/Admin/Queue/index.php
index 5ba9d6fe..b99c7be8 100644
--- a/templates/Admin/Queue/index.php
+++ b/templates/Admin/Queue/index.php
@@ -219,7 +219,9 @@
= $this->element('Queue.Queue/stats_card', [
- 'title' => __d('queue', 'Failed'),
+ // Counts every unfinished job with a failure_message: still-retrying
+ // (requeued) ones as well as terminally failed/aborted ones.
+ 'title' => __d('queue', 'Requeued/Failed'),
'count' => $failedJobs,
'icon' => 'times-circle',
'color' => 'danger',
@@ -301,11 +303,6 @@
= __d('queue', 'Requeued') ?>
= __d('queue', 'Attempts') ?>: = $this->Queue->attempts($pendingJob) ?>
- Queue->isRestarted($pendingJob)): ?>
-
- = __d('queue', 'Restarted') ?>
-
-
= __d('queue', 'Attempts') ?>: = $this->Queue->attempts($pendingJob) ?>
fetched): ?>
= __d('queue', 'Running') ?>
diff --git a/templates/Admin/QueuedJobs/index.php b/templates/Admin/QueuedJobs/index.php
index bbc2df60..058463a4 100644
--- a/templates/Admin/QueuedJobs/index.php
+++ b/templates/Admin/QueuedJobs/index.php
@@ -153,10 +153,6 @@
= __d('queue', 'Requeued') ?>
- Queue->isRestarted($queuedJob)): ?>
-
- = __d('queue', 'Restarted') ?>
-
fetched): ?>
= __d('queue', 'Running') ?>
diff --git a/templates/Admin/QueuedJobs/view.php b/templates/Admin/QueuedJobs/view.php
index 63fee1d7..0d696dc5 100644
--- a/templates/Admin/QueuedJobs/view.php
+++ b/templates/Admin/QueuedJobs/view.php
@@ -254,10 +254,6 @@
= __d('queue', 'Requeued') ?>
- Queue->isRestarted($queuedJob)): ?>
-
- = __d('queue', 'Restarted') ?>
-
fetched): ?>
= __d('queue', 'Running') ?>
diff --git a/tests/TestCase/View/Helper/QueueHelperTest.php b/tests/TestCase/View/Helper/QueueHelperTest.php
index 0c3b6cbf..c698e847 100644
--- a/tests/TestCase/View/Helper/QueueHelperTest.php
+++ b/tests/TestCase/View/Helper/QueueHelperTest.php
@@ -105,7 +105,7 @@ public function testFailureStatus() {
$queuedJob->failure_message = null;
$result = $this->QueueHelper->failureStatus($queuedJob);
- $this->assertSame('Restarted', $result);
+ $this->assertNull($result);
$queuedJob->attempts = 999;
$queuedJob->failure_message = 'Foo';
@@ -221,66 +221,6 @@ public function testIsRequeued(): void {
$this->assertFalse($this->QueueHelper->isRequeued($queuedJob));
}
- /**
- * @return void
- */
- public function testIsRestarted(): void {
- // Not fetched - not restarted
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => null,
- 'attempts' => 2,
- 'failure_message' => null,
- ]);
- $this->assertFalse($this->QueueHelper->isRestarted($queuedJob));
-
- // Completed - not restarted
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => new DateTime('-1 hour'),
- 'completed' => new DateTime(),
- 'attempts' => 2,
- 'failure_message' => null,
- ]);
- $this->assertFalse($this->QueueHelper->isRestarted($queuedJob));
-
- // No attempts - not restarted (first run)
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => new DateTime('-1 hour'),
- 'attempts' => 0,
- 'failure_message' => null,
- ]);
- $this->assertFalse($this->QueueHelper->isRestarted($queuedJob));
-
- // Has failure_message - not restarted (is requeued or failed)
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => new DateTime('-1 hour'),
- 'attempts' => 2,
- 'failure_message' => 'Error',
- ]);
- $this->assertFalse($this->QueueHelper->isRestarted($queuedJob));
-
- // Fetched, has attempts, NO failure_message - IS restarted
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => new DateTime('-1 hour'),
- 'attempts' => 2,
- 'failure_message' => null,
- ]);
- $this->assertTrue($this->QueueHelper->isRestarted($queuedJob));
-
- // Also restarted with just 1 attempt
- $queuedJob = new QueuedJob([
- 'job_task' => 'Queue.Example',
- 'fetched' => new DateTime('-1 hour'),
- 'attempts' => 1,
- 'failure_message' => null,
- ]);
- $this->assertTrue($this->QueueHelper->isRestarted($queuedJob));
- }
-
/**
* @return void
*/