Fixes account create tasks
This commit is contained in:
@ -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"""
|
||||
|
Reference in New Issue
Block a user