reconcile jobqueue with new readiness based setup

pull/1/head
Michael Kirk 7 years ago
parent 2c44cbccfd
commit 79bed93b2d

@ -65,7 +65,7 @@ public class MessageSenderJobQueue: NSObject, JobQueue {
}
private func add(message: TSOutgoingMessage, removeMessageAfterSending: Bool, transaction: YapDatabaseReadWriteTransaction) {
assert(AppReadiness.isAppReady())
assert(AppReadiness.isAppReady() || CurrentAppContext().isRunningTests)
let jobRecord: SSKMessageSenderJobRecord
do {

@ -110,10 +110,21 @@ public extension JobQueue {
jobRecord.save(with: transaction)
transaction.addCompletionQueue(.global()) {
AppReadiness.runNowOrWhenAppDidBecomeReady {
self.startWorkWhenAppIsReady()
}
}
func startWorkWhenAppIsReady() {
guard !CurrentAppContext().isRunningTests else {
DispatchQueue.global().async {
self.workStep()
}
return
}
AppReadiness.runNowOrWhenAppDidBecomeReady {
DispatchQueue.global().async {
self.workStep()
}
}
}
@ -220,9 +231,7 @@ public extension JobQueue {
self.isSetup = true
DispatchQueue.global().async {
self.workStep()
}
self.startWorkWhenAppIsReady()
}
func remainingRetries(durableOperation: DurableOperationType) -> UInt {

@ -37,7 +37,7 @@ class MessageSenderJobQueueTest: SSKBaseTestSwift {
self.wait(for: [expectation], timeout: 0.1)
}
func test_waitsForReady() {
func test_waitsForSetup() {
let message: TSOutgoingMessage = OutgoingMessageFactory().create()
let sentBeforeReadyExpectation = sentExpectation(message: message)

Loading…
Cancel
Save