feat: 任务失败后继续执行下一条 (#170)

This commit is contained in:
chengma
2026-08-11 18:21:25 +08:00
parent b2c99840b3
commit 8b8a542cc5
14 changed files with 280 additions and 103 deletions
+19
View File
@@ -578,6 +578,25 @@ class TaskRepositoryTests(unittest.TestCase):
self.assertEqual(prepared.status, TaskStatus.CLAIMED)
self.assertEqual(second.attempt_no, 2)
def test_automatic_selection_skips_retry_wait_task(self):
self.repository.add_claimed_task(self._task("RETRY-SKIPPED"))
started = self.repository.start_collect_run("RETRY-SKIPPED", "USB-001")
self.repository.save_collect_failure(
"RETRY-SKIPPED",
started.attempt_id,
TaskStatus.RETRY_WAIT,
"PDD_PAGE_TIMEOUT",
"页面超时",
True,
)
self.repository.add_claimed_task(self._task("NEXT-CLAIMED"))
collect_task = self.repository.next_collect_task()
runnable = self.repository.next_runnable_task(include_purchase=True)
self.assertEqual("NEXT-CLAIMED", collect_task.remote_task_id)
self.assertEqual("NEXT-CLAIMED", runnable.remote_task_id)
def test_retry_wait_explains_permanently_failed_outbox(self):
self.repository.add_claimed_task(self._task("RETRY-REJECTED"))
started = self.repository.start_collect_run(