Użyj osobnego procesu workera (ta sama baza kodu, inny entrypoint) konsumującego kolejkę, z retry i idempotencją. To nie blokuje requestów web i daje lepszą kontrolę współbieżności oraz błędów.