Android优先工作队列-继续重试达到重试限制后被取消的工作

时间:2019-01-08 12:30:22

标签: android job-queue android-priority-jobqueue

我正在使用android优先级作业队列库(https://github.com/yigit/android-priority-jobqueue)处理许多进行网络调用的作业。我正在以指数补偿重试作业。根据文档,重试该作业后,将定义一个最大编号。有时,它会被取消并从队列中删除。如果我们希望作业继续重试,则需要创建该作业的新实例,并将其重新添加到队列中,如本SO answer中所述。

我的问题是,我有几种类型的作业都扩展了基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;
        }
    }

0 个答案:

没有答案