Closed Bug 1268259 Opened 8 years ago Closed 4 years ago

Make "send_welcome_email" task retry on missing User

Categories

(developer.mozilla.org Graveyard :: Code Cleanup, enhancement)

All
Other
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jwhitlock, Unassigned)

References

Details

(Whiteboard: [specification][type:feature])

What problem would this feature solve?
======================================
send_welcome_email is called when a User is created. However, due to database transactions, the task may be scheduled before the task is allowed to see the user.

Who has this problem?
=====================
Staff contributors to MDN

How do you know that the users identified above have this problem?
==================================================================
The decorator django_celery_transactions is currently used to delay dispatching the task until the transaction is complete.  However, this library is deprecated, and may not work with future versions of Django.

How are the users identified above solving this problem now?
============================================================
The decorator appears to work with Django 1.8

Do you have any suggestions for solving the problem? Please explain in detail.
==============================================================================
If the user is not found, then retry the task after a delay, to give time for the transaction to clear.

Is there anything else we should know?
======================================
Blocks: 1268254
Celery 4.x recommends using Django 1.9's transaction.on_commit:

http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#django-support

This may avoid the issue with running the task before the user is created.
MDN Web Docs' bug reporting has now moved to GitHub. From now on, please file content bugs at https://github.com/mdn/sprints/issues/ and platform bugs at https://github.com/mdn/kuma/issues/.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.