Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#14050 closed Uncategorized (invalid)

Signals for transaction commit/rollback

Reported by: Ask Solem <ask@…> Owned by: nobody
Component: Database layer (models, ORM) Version: 1.2
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Some users of django-celery have the problem of publishing references to
database state that has not yet been commited.

E.g:

def add_user(request):

user = User.objects.create(...)
# Import the users address book contacts
import_contacts.delay(user.pk)

The proposed solution is to add a way to delay these calls until the transaction is committed:

from djcelery import on_transaction_commit

def add_user(request):

user = User.objects.create(...)
on_transaction_commit(import_contacts.delay, user.pk)

This doesn't seem very easy to accomplish, as I can't see any mechanism
to hook into commit/rollback. Do you think it could be possible
to add new signals for this?

Change History (2)

comment:1 Changed 6 years ago by Ask Solem <ask@…>

Needs documentation: unset
Needs tests: unset
Patch needs improvement: unset
Resolution: invalid
Status: newclosed

Formatting is broken, resubmitting :(

comment:2 Changed 5 years ago by ybon

Easy pickings: unset
Severity: Normal
Type: Uncategorized
UI/UX: unset

The valid thread is on #14051.

Note: See TracTickets for help on using tickets.
Back to Top