Android - WorkManager 强制 UniqueWork 在被退避政策延迟时触发?

Android - WorkManager force UniqueWork to fire when is delayed by backoff policy?

您好,我正在使用 WorkManagerUniqueWork。我有这个用例:我的 UniqueWork 被服务器 error 500 延迟,工作由退避策略安排,我想知道是否可以强制 UniqueWork 立即触发?感谢您的回答。

WorkManager 仅在您 return Result.retry() 来自您的 worker 时才使用退避策略。您可以设置的最小值为 10 秒 (MIN_BACKOFF_MILLIS)。

如何处理服务器 returning HTTP 代码 500 完全取决于您的工作人员。如果这是您想要的,您还可以在内部循环工作人员多次重试请求。唯一的限制是 worker 最多可以持续 10 分钟(或者您可以使用 setForeground()(从 v2.3-alpha02 开始)将其提升为前台服务。

您可以做的是在 Worker 内部重试给定的次数(例如 3 次),如果这不起作用,则将其作为服务不可用处理并在以后重试。