Уведомления

Группа в Telegram: @pythonsu

#1 Май 8, 2015 10:26:46

myarik
Зарегистрирован: 2012-11-20
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с транзакциями в celery

Добрый день

Буду благодарен за любую помощь, вторую неделю пытаюсь решить проблему с тразакциями в celery. Есть отдельный сервер на котором бежит celery там выполняеться несколько определеных задач по добавлению записей в базу и их обновлении. Периодически все падает со следующей ошибкой.

InternalError: current transaction is aborted, commands ignored until end of transaction block

И все перестает работать, помагает только рестарт celery. У меня django 1.7, нашел вот такую запись в документации: http://celery.readthedocs.org/en/latest/userguide/tasks.html#database-transactions. Не совсем понял как правильно нужно это использовать в новых версиях джанги. Пробовал следующие варианты, ночего не помагает

@task(ignore_result=True)
@transaction.atomic
def update_task(obj_id):
    try:
        item = Object.objects.get(pk=obj_id)
        obj.update()
    except Object.DoesNotExist:
...
som other function
 try:
        sid = transaction.savepoint()
        obj2.save()
        transaction.savepoint_commit(sid)
    except IntegrityError:
        transaction.savepoint_rollback(sid)

Зарание благодарен

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version