MCPcopy
hub / github.com/celery/celery / Retry

Class Retry

celery/exceptions.py:145–184  ·  view source on GitHub ↗

The task is to be retried later.

Source from the content-addressed store, hash-verified

143
144
145class Retry(TaskPredicate):
146 """The task is to be retried later."""
147
148 #: Optional message describing context of retry.
149 message = None
150
151 #: Exception (if any) that caused the retry to happen.
152 exc = None
153
154 #: Time of retry (ETA), either :class:`numbers.Real` or
155 #: :class:`~datetime.datetime`.
156 when = None
157
158 def __init__(self, message=None, exc=None, when=None, is_eager=False,
159 sig=None, **kwargs):
160 from kombu.utils.encoding import safe_repr
161 self.message = message
162 if isinstance(exc, str):
163 self.exc, self.excs = None, exc
164 else:
165 self.exc, self.excs = get_pickleable_exception(exc), safe_repr(exc) if exc else None
166 self.when = when
167 self.is_eager = is_eager
168 self.sig = sig
169 super().__init__(self, exc, when, **kwargs)
170
171 def humanize(self):
172 if isinstance(self.when, numbers.Number):
173 return f'in {self.when}s'
174 return f'at {self.when}'
175
176 def __str__(self):
177 if self.message:
178 return self.message
179 if self.excs:
180 return f'Retry {self.humanize()}: {self.excs}'
181 return f'Retry {self.humanize()}'
182
183 def __reduce__(self):
184 return self.__class__, (self.message, self.exc, self.when)
185
186
187RetryTaskError = Retry # XXX compat

Callers 10

test_on_retryMethod · 0.90
test_when_datetimeMethod · 0.90
test_pickleableMethod · 0.90
test_pickleableMethod · 0.90
patch_unlock_retryFunction · 0.90
test_trace_RetryMethod · 0.90
_announce_cancelledMethod · 0.90
retryMethod · 0.90

Calls

no outgoing calls

Tested by 8

test_on_retryMethod · 0.72
test_when_datetimeMethod · 0.72
test_pickleableMethod · 0.72
test_pickleableMethod · 0.72
patch_unlock_retryFunction · 0.72
test_trace_RetryMethod · 0.72