Skip to content

Commit 266d41e

Browse files
authored
Update app database per server in order, not parallel (#4166)
1 parent 77fa346 commit 266d41e

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

Sources/Shared/Environment/AppDatabaseUpdater.swift

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,22 @@ final class AppDatabaseUpdater: AppDatabaseUpdaterProtocol {
4848

4949
Current.Log.verbose("Updating database, servers count \(Current.servers.all.count)")
5050

51-
updateTask = Task {
52-
await withTaskGroup(of: Void.self) { group in
53-
for server in Current.servers.all {
54-
guard server.info.connection.activeURL() != nil else { continue }
55-
56-
group.addTask {
57-
await self.updateServer(server: server)
58-
}
51+
updateTask = Task { [weak self] in
52+
for server in Current.servers.all {
53+
guard let self else {
54+
break
5955
}
56+
57+
guard server.info.connection.activeURL() != nil else {
58+
continue
59+
}
60+
// Check if task was cancelled before processing next server
61+
if Task.isCancelled {
62+
Current.Log.verbose("Update task cancelled")
63+
break
64+
}
65+
66+
await updateServer(server: server)
6067
}
6168
}
6269

0 commit comments

Comments
 (0)