Время ожидания RxJava не работает время от времени - PullRequest
0 голосов
/ 01 июня 2018

Ниже приведен мой фрагмент кода, и иногда Observable не срабатывает,

 Observable<A> AObservable = Observable.fromCallable(() ->
        //External Service Call
).timeout(800, TimeUnit.MILLISECONDS)
        .subscribeOn(Schedulers.io())
        .onErrorReturn(throwable -> {
            LOGGER.warn(format("Server did not respond within %s ms for id=%s", 800, id));
            return null;
        });

Observable<B> BObservable = Observable.fromCallable(() ->
        //External Service Call
).timeout(800, TimeUnit.MILLISECONDS)
        .subscribeOn(Schedulers.io())
        .onErrorReturn( throwable -> {
            LOGGER.warn(format("Service did not respond within %s ms for id=%s", 800, Id));
            return null;
        });

// Build Default response
Observable<C> CObservable = Observable.fromCallable(() ->
        // Build Default one
).subscribeOn(Schedulers.io());


return Observable.zip(AObservable, BObservable,CObservable,
        (AResponse, BResponse, CResponse) -> {

    // Handle response and combine them

}).toBlocking().first();

Мне кажется, что время от времени, если служба занимает более 800ms, время ожиданияне произойдет.Скучаю по любому атрибуту, пожалуйста, сообщите.

...