Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions queue_job/exception.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ class FailedJobError(JobError):
"""A job had an error having to be resolved."""


class MaxRetryJobError(FailedJobError):
"""A job has hit its maximum number of retries and failed."""


class RetryableJobError(JobError):
"""A job had an error but can be retried.
Expand Down
4 changes: 2 additions & 2 deletions queue_job/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

import odoo

from .exception import FailedJobError, NoSuchJobError, RetryableJobError
from .exception import MaxRetryJobError, NoSuchJobError, RetryableJobError

WAIT_DEPENDENCIES = "wait_dependencies"
PENDING = "pending"
Expand Down Expand Up @@ -500,7 +500,7 @@ def perform(self):
# change the exception type but keep the original
# traceback and message:
# http://blog.ianbicking.org/2007/09/12/re-raising-exceptions/
new_exc = FailedJobError(
new_exc = MaxRetryJobError(
"Max. retries (%d) reached: %s" % (self.max_retries, value or type_)
)
raise new_exc from err
Expand Down
4 changes: 2 additions & 2 deletions test_queue_job/tests/test_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from odoo.addons.queue_job import identity_exact
from odoo.addons.queue_job.delay import DelayableGraph
from odoo.addons.queue_job.exception import (
FailedJobError,
MaxRetryJobError,
NoSuchJobError,
RetryableJobError,
)
Expand Down Expand Up @@ -77,7 +77,7 @@ def test_retryable_error(self):
with self.assertRaises(RetryableJobError):
test_job.perform()
self.assertEqual(test_job.retry, 2)
with self.assertRaises(FailedJobError):
with self.assertRaises(MaxRetryJobError):
test_job.perform()
self.assertEqual(test_job.retry, 3)

Expand Down
Loading