【发布时间】:2021-04-24 09:27:42
【问题描述】:
我有一个协程工作者,我希望每隔约 1 分钟定期调用它。你将如何继续这样做?
我的工人看起来像这样:
class CloudDataWorker(context: Context, params: WorkerParameters):
CoroutineWorker(context, params) {
companion object {
const val WORK_NAME = "CloudDataWorker"
}
override suspend fun doWork(): Result {
Timber.d("Background worker started.")
val repository = Repository(applicationContext);
return try {
if(repository.getAllJobs().hasActiveObservers()){
Timber.d("Found active listeners on cloud data.")
repository.refreshJobs()
} else {
Timber.d("No active listeners for cloud data found.")
}
Result.success()
} catch (e: HttpException) {
Timber.e("Error during update of cloud data: ${e.message()}")
Result.retry()
}
}
}
【问题讨论】: