feat: 任务失败后继续执行下一条 (#170)
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user