On android I am using requery db and trying to upload my DB changes to server. To achieve the same, I am running the following logic
Scheduler sub2 = Schedulers.newThread();
Scheduler ob2 = Schedulers.newThread();
data.select(Broadcaster.class)
.where(Broadcaster.IS_DIRTY.eq(true))
.get()
.observableResult()
.subscribeOn(sub2)
.observeOn(ob2)
.flatMap(broadcasters->broadcasters.observable())
.flatMap(broadcasters->Backend.getInstance()
.uploadBroadcaster(broadcasters)
.onExceptionResumeNext(Observable.empty()))
.flatMapSingle(broadcaster -> markUploaded(broadcaster))
.doOnError(t->Log.e(TAG,"Error uploading ",t))
.subscribe();
But for every change the uploadBroadcaster is called multiple times (4-10 times) with the same data. What am I doing wrong here.