Slide 54
Slide 54 text
ticketea
Tarea base
class BaseTask(Task):
def on_success(self, *args, **kwargs):
statsd.incr('tasks.%s' % self.name)
def on_failure(self, exc, task_id, args, kwargs, einfo):
logger.warning(...)
def __call__(self, *args, **kwargs):
with transaction.atomic():
try:
return super(BaseTask, self).__call__(
*args, **kwargs
)
except Exception as exc:
if isinstance(exc, exceptions.Retry):
raise exc
else:
logger.exception('Unhandled exception')
self.retry(exc=exc)