This library uses django-atomic-signals. Unfortunately this is not a great way of achieving "don't run this code until the transaction commits" any more. There is plenty of extra description on django-atomic-signals' README, and also on the similar library django-transaction-signals, by Django core developer Aymeric.
If you want a supported method of executing a celery task on commit, then:
- on Django >= 1.9, use the built-in on_commit hook
- on Django < 1.9, use django-transaction-hooks (the original source of 1.9's
on_commit
)
Both give examples with celery tasks so you are in good hands.
If your project is still using this library, please migrate. You will need to remove django-atomic-signals as well as django-atomic-celery.
The current version of django-atomic-celery, 2.0.0, simply errors upon import, directing you here.