Очередь заданий с приоритетом Android - продолжайте повторять попытку, отмененную после достижения предела повторных попыток
Я использую библиотеку очереди заданий с приоритетом Android ( https://github.com/yigit/android-priority-jobqueue) для обработки ряда заданий, которые выполняют сетевые вызовы. Я повторяю работу с экспоненциальным отступлением. Согласно документации, после повторного выполнения задания определенное максимальное число нет. раз он отменяется и удаляется из очереди. Если мы хотим, чтобы задание продолжалось, мы должны создать новый экземпляр задания и добавить его обратно в очередь, как описано в этом ответе SO.
Моя проблема в том, что у меня есть несколько видов работ, которые расширяют базу Job
класс, каждый со своим набором свойств. Когда мне нужно создать новый экземпляр задания после его отмены, мне нужно будет знать тип задания, которое было отменено, и значения для каждого из его свойств. Есть ли способ получить доступ к свойствам задания, которое сохраняется на диске? Как мне получить / сохранить эти значения, чтобы создать экземпляр задания при добавлении его обратно в очередь?
@Override
protected void onCancel(int cancelReason, @Nullable Throwable throwable) {
switch (cancelReason) {
case REACHED_RETRY_LIMIT:
/* get type of job cancelled, create a new instance and add it
back to the queue */
break;
}
}