Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENG-4903] Fixes issue with email confirmation links failing due to database congestion #10662

9 changes: 8 additions & 1 deletion api/users/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@
from api.base.schemas.utils import validate_user_json, from_json
from framework.auth.views import send_confirm_email
from api.base.versioning import get_kebab_snake_case_field
from framework.postcommit_tasks.handlers import enqueue_postcommit_task


def send_confirmation_email_task(user_id, email):
from framework.auth import get_user
user = get_user(user_id)
send_confirm_email(user, email=email)


class SocialField(ser.DictField):
Expand Down Expand Up @@ -596,7 +603,7 @@ def create(self, validated_data):
token = user.add_unconfirmed_email(address)
user.save()
if CONFIRM_REGISTRATIONS_BY_EMAIL:
send_confirm_email(user, email=address)
enqueue_postcommit_task(send_confirmation_email_task, user.id, address)
cslzchen marked this conversation as resolved.
Show resolved Hide resolved
user.email_last_sent = timezone.now()
user.save()
except ValidationError as e:
Expand Down
Loading