44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
# Copyright 2012-2016 Camptocamp
|
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
|
|
|
|
|
|
class BaseQueueJobError(Exception):
|
|
"""Base queue job error"""
|
|
|
|
|
|
class JobError(BaseQueueJobError):
|
|
"""A job had an error"""
|
|
|
|
|
|
class NoSuchJobError(JobError):
|
|
"""The job does not exist."""
|
|
|
|
|
|
class FailedJobError(JobError):
|
|
"""A job had an error having to be resolved."""
|
|
|
|
|
|
class RetryableJobError(JobError):
|
|
"""A job had an error but can be retried.
|
|
|
|
The job will be retried after the given number of seconds. If seconds is
|
|
empty, it will be retried according to the ``retry_pattern`` of the job or
|
|
by :const:`odoo.addons.queue_job.job.RETRY_INTERVAL` if nothing is defined.
|
|
|
|
If ``ignore_retry`` is True, the retry counter will not be increased.
|
|
"""
|
|
|
|
def __init__(self, msg, seconds=None, ignore_retry=False):
|
|
super().__init__(msg)
|
|
self.seconds = seconds
|
|
self.ignore_retry = ignore_retry
|
|
|
|
|
|
# TODO: remove support of NothingToDo: too dangerous
|
|
class NothingToDoJob(JobError):
|
|
"""The Job has nothing to do."""
|
|
|
|
|
|
class ChannelNotFound(BaseQueueJobError):
|
|
"""A channel could not be found"""
|