# -*- coding: utf-8 -*- # Copyright 2012-2016 Camptocamp # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.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 NotReadableJobError(JobError): """ The job cannot be read from the storage. """ 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(RetryableJobError, self).__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 """