Core data 由于cpu时间超过限制,coreData后台线程被终止
My watch extension使用以下代码(简称)在后台线程中从coreData获取许多项目: 显然,这需要太长时间 我的问题:Core data 由于cpu时间超过限制,coreData后台线程被终止,core-data,background-process,watchos,cpu-time,Core Data,Background Process,Watchos,Cpu Time,My watch extension使用以下代码(简称)在后台线程中从coreData获取许多项目: 显然,这需要太长时间 我的问题: coreData后台线程有时间限制吗 如果是这样,我如何修改代码以避免它 coreDataSerialQueue.async { backgroundManagedContext.performAndWait { … let buyItemFetchRequest: NSFetchReque
coreDataSerialQueue.async {
backgroundManagedContext.performAndWait {
…
let buyItemFetchRequest: NSFetchRequest<CDBuyItem> = CDBuyItem.fetchRequest()
…
do {
let cdShoppingItems: [CDBuyItem] = try backgroundManagedContext.fetch(buyItemFetchRequest)
…
return
} catch let error as NSError {
…
return
}
}
}
Event: cpu usage
Action taken: Process killed
CPU: 2 seconds cpu time over 4 seconds (59% cpu average), exceeding limit of 14% cpu over 15 seconds
CPU limit: 2s
Limit duration: 15s
CPU used: 2s
CPU duration: 4s
Duration: 3.57s
Duration Sampled: 0.00s
Steps: 1