bradleyayers / django-celery-transactions

Django transaction support for Celery tasks.
Other
195 stars 56 forks source link

Setting CELERY_ALWAYS_EAGER=True leads to TransactionManagementError #4

Open smlz opened 11 years ago

smlz commented 11 years ago

Auto-commit synchronously executed tasks when CELERY_ALWAYS_EAGER is set to True.

When CELERY_ALWAYS_EAGER is set, tasks are executed synchronously in the same VM. Writing to the database in a such a djcelery_transactions.task, will then raise a TransactionManagementError, as the modifications are not automatically commited to the database.

[...]
  File "/home/marco/workspace/atizo-platform-env-python2.6/src/django/django/db/backends/__init__.py", line 115, in leave_transaction_management
    raise TransactionManagementError("Transaction managed block ended with "

TransactionManagementError: Transaction managed block ended with pending COMMIT/ROLLBACK
ivirabyan commented 11 years ago

Need this fix too

zbyte64 commented 11 years ago

I too have this same issue.

izquierdo commented 11 years ago

Me too.

nyaruka commented 11 years ago

Me three.. kind of a requirement when doing automated tests using ALWAYS_EAGER

funkaoshi commented 11 years ago

Same. Is this a dead project?

tomplayford commented 11 years ago

We've been having trouble applying this patch to latest HEAD, so I thought I'd share.

The below works for us - but use at your own risk.

https://github.com/10to8/django-celery-transactions