Dispatch client presence operations after account deletion to a dedicated executor
This commit is contained in:
parent
f33a2eba50
commit
4d1bca2d97
|
@ -1019,9 +1019,9 @@ public class AccountsManager {
|
||||||
registrationRecoveryPasswordsManager.removeForNumber(account.getNumber()))
|
registrationRecoveryPasswordsManager.removeForNumber(account.getNumber()))
|
||||||
.thenCompose(ignored -> accounts.delete(account.getUuid(), additionalWriteItems))
|
.thenCompose(ignored -> accounts.delete(account.getUuid(), additionalWriteItems))
|
||||||
.thenCompose(ignored -> redisDeleteAsync(account))
|
.thenCompose(ignored -> redisDeleteAsync(account))
|
||||||
.thenRun(() -> RedisOperation.unchecked(() ->
|
.thenRunAsync(() -> RedisOperation.unchecked(() ->
|
||||||
account.getDevices().forEach(device ->
|
account.getDevices().forEach(device ->
|
||||||
clientPresenceManager.disconnectPresence(account.getUuid(), device.getId()))));
|
clientPresenceManager.disconnectPresence(account.getUuid(), device.getId()))), clientPresenceExecutor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getUsernameHashAccountMapKey(byte[] usernameHash) {
|
private String getUsernameHashAccountMapKey(byte[] usernameHash) {
|
||||||
|
|
Loading…
Reference in New Issue