fix: 允许等待重试任务手动重新执行 (#70)

This commit is contained in:
chengma
2026-08-09 22:47:44 +08:00
parent 5df5398f32
commit a6c573a76a
6 changed files with 151 additions and 12 deletions
+59
View File
@@ -563,6 +563,65 @@ class PDDTaskPageEventTest(unittest.TestCase):
events.shutdown()
page.deleteLater()
def test_retry_wait_failure_shows_paused_recovery_actions(self):
self._add_task(1)
started = self.repository.start_collect_run("PDD-001", "USB-001")
event = self.repository.save_collect_failure(
"PDD-001",
started.attempt_id,
TaskStatus.RETRY_WAIT,
"DEVICE_OFFLINE",
"设备离线",
True,
)
self.repository.mark_outbox_sent(event.id)
page = PDDTaskPage()
events = PDDTaskPageEvent(
page,
self.repository,
claim_gateway=RecordingClaimGateway(None),
settings_repository=self._saved_settings(),
)
events._on_collect_outcome(
"failed",
"任务 PDD-001 采集未完成",
"PDD-001",
)
self.assertIn("重试已暂停", events._stop_status)
self.assertIn("重新执行", events._stop_status)
self.assertIn("重新启动获取任务", events._stop_status)
events.shutdown()
page.deleteLater()
def test_failed_task_does_not_show_retry_paused_status(self):
self._add_task(1)
started = self.repository.start_collect_run("PDD-001", "USB-001")
event = self.repository.save_collect_failure(
"PDD-001",
started.attempt_id,
TaskStatus.FAILED,
"GOODS_OFF_SHELF",
"商品已下架",
False,
)
self.repository.mark_outbox_sent(event.id)
page = PDDTaskPage()
events = PDDTaskPageEvent(
page,
self.repository,
claim_gateway=RecordingClaimGateway(None),
settings_repository=self._saved_settings(),
)
events._on_collect_outcome("failed", "商品已下架", "PDD-001")
self.assertEqual(events._stop_status, "商品已下架")
self.assertNotIn("重试已暂停", events._stop_status)
events.shutdown()
page.deleteLater()
def test_duplicate_task_is_normal_status(self):
task = collect_admin_task()
self.repository.add_claimed_task(admin_task_to_new_claimed_task(task))