Django Celery django.db.utils.OperationalError

Здравствуйте, у меня очень странная проблема с сельдереем. У меня есть такая модель

class MyUser(models.model):
    email = models.CharField(max_length=255, unique=True, blank=False, null=False)
    .....
    user_code = models.PositiveIntegerField(default=get_user_code, unique=True, blank=False, null=False)


def get_random_num():
    return random.randint(10000, 999999)


def get_user_code():
    # Check if some user with this code already exists
    code = get_random_num()
    while MyUser.objects.filter(user_code=code).exists():
        code = get_random_num()
    return code

Итак, django не жалуется на это, но по какой-то причине, когда я запускаю celery, у меня возникают такие ошибки:

django.db.utils.OperationalError: could not receive data from server: Bad file descriptor

Задачи расписания Django не выполняются, другие задачи celery выполняются нормально (например, отправка электронной почты).

Итак, django не жалуется на это, но Celery жалуется.

Если я просто удалю эти строки кода, celery не показывает никаких ошибок.


while MyUser.objects.filter(user_code=code).exists():
    code = get_random_num()

Почему Celery жалуется на это? Кто-то уже сталкивался с этой проблемой? Есть ли какой-нибудь чистый способ избежать этого?

Вернуться на верх