Fixes account create tasks

This commit is contained in:
Mouse Reeve
2022-01-04 14:17:14 -08:00
parent 3dd7847d7b
commit 23e498879e
3 changed files with 24 additions and 8 deletions

View File

@ -2,6 +2,7 @@
import math
import logging
from django.dispatch import receiver
from django.db import transaction
from django.db.models import signals, Count, Q
from bookwyrm import models
@ -197,7 +198,7 @@ def update_user(sender, instance, created, update_fields=None, **kwargs):
"""an updated user, neat"""
# a new user is found, create suggestions for them
if created and instance.local:
rerank_suggestions_task.delay(instance.id)
transaction.on_commit(lambda: update_new_user_command(instance.id))
# we know what fields were updated and discoverability didn't change
if not instance.bookwyrm_user or (
@ -217,6 +218,11 @@ def update_user(sender, instance, created, update_fields=None, **kwargs):
remove_user_task.delay(instance.id)
def update_new_user_command(instance_id):
"""wait for transaction to complete"""
rerank_suggestions_task.delay(instance_id)
@receiver(signals.post_save, sender=models.FederatedServer)
def domain_level_update(sender, instance, created, update_fields=None, **kwargs):
"""remove users on a domain block"""