Возбуждение исключения в задаче Celery вызывает исключение, из которого он подкласс, а не сам по себе - PullRequest
0 голосов
/ 16 марта 2019

Я думаю, что заголовок объясняет, в чем проблема, но я покажу код.

raise AccountBannedException(self.account) делает рабочий журнал Сельдерея raised unexpected: BrowserAccountException('General BrowserAccountException.',).

Код для каждого:

class AccountBannedException(BrowserAccountException):
    def __init__(self, account):
        self.account = account
        self.message = "Account " + self.account.email + " is banned."
        self.account.retired = True
        super(AccountBannedException, self).__init__(message=self.message)

class BrowserAccountException(BrowserException):
    def __init__(self, email=None, password=None, message=None):
        self.email = email
        self.password = password
        if message is None:
            message = "General BrowserAccountException."
        self.message = message
        super(BrowserAccountException, self).__init__(message=self.message)

Распечатка исключения показывает, что это на самом деле. Поднятие его также за пределами сельдерея. Похоже, по умолчанию сельдерей не будет отчитываться об этом.

РЕДАКТИРОВАТЬ: Я обнаружил, что, когда я не пишу self.account.retired = True, он говорит, что он должен сказать: Account "<MSAccount(email ='someone@example.com')>" is banned.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...