Политика повторных запросов на залп не учитывает время ожидания

11

Я установил 1500 как initialTimeoutMs в DefaultRetryPolicy, как показано ниже, но он не учитывает время ожидания:

request.setRetryPolicy(new DefaultRetryPolicy(1500
        , DefaultRetryPolicy.DEFAULT_MAX_RETRIES
        , DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

Я отключил WiFi на своем устройстве, чтобы проверить его время ожидания, и я увидел это время в Logcat :

2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError

Это заняло более 20 секунд, в то время как я ожидал поймать либо onResponse, либо onError через 1,5 секунды !!!

Алиреза Нурали
источник
Я считаю, что после отката существует логика повторения. Таким образом, запрос отправляется через 1,5 секунды, а затем повторяется через некоторое случайное время. Общее количество выбывших
Абхишек Ранджан
каково ваше значение для max_tries и backoff_multiplies?
Каран
Оба они имеют значения по умолчанию. в DefaultRetryPolicy.java:public static final int DEFAULT_MAX_RETRIES = 1; public static final float DEFAULT_BACKOFF_MULT = 1f;
Алиреза Нурали

Ответы:

0

Используйте 5 секунд, потому что 15 секунд это намного больше для подачи в тайм-аут.

int TIME_OUT = 500; //use 5 sec it will work fine with it..

request.setRetryPolicy(new DefaultRetryPolicy(
    TIME_OUT, 
    DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

источник