fix sync expiries jobs

pull/941/head
Ryan Zhao 2 years ago
parent 3368f184de
commit 4cc6d24404

@ -27,7 +27,10 @@ public enum SyncExpiriesJob: JobExecutor {
return
}
guard DisappearingMessagesConfiguration.isNewConfigurationEnabled else { return }
guard DisappearingMessagesConfiguration.isNewConfigurationEnabled else {
success(job, false)
return
}
var interactionIdsWithNoServerHashByExpiresInSeconds: [TimeInterval: [Int64]] = [:]
@ -76,21 +79,23 @@ public enum SyncExpiriesJob: JobExecutor {
).retainUntilComplete()
}
guard !interactionIdsWithNoServerHashByExpiresInSeconds.isEmpty else { return }
Storage.shared.writeAsync { db in
JobRunner.upsert(
db,
job: Job(
variant: .syncExpires,
details: SyncExpiriesJob.Details(
interactionIdsByExpiresInSeconds: interactionIdsWithNoServerHashByExpiresInSeconds,
startedAtMs: details.startedAtMs,
threadId: details.threadId
if !interactionIdsWithNoServerHashByExpiresInSeconds.isEmpty {
Storage.shared.writeAsync { db in
JobRunner.upsert(
db,
job: Job(
variant: .syncExpires,
details: SyncExpiriesJob.Details(
interactionIdsByExpiresInSeconds: interactionIdsWithNoServerHashByExpiresInSeconds,
startedAtMs: details.startedAtMs,
threadId: details.threadId
)
)
)
)
}
}
success(job, false)
}
}

@ -91,6 +91,7 @@ public final class JobRunner {
)
let syncExpiriesQueue: JobQueue = JobQueue(
type: .syncExpiries,
executionType: .concurrent, // Allow as many jobs to run at once as supported by the device
qos: .default,
jobVariants: [
jobVariants.remove(.syncExpires)

Loading…
Cancel
Save