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

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

Loading…
Cancel
Save