reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> publishOn(Scheduler scheduler, boolean delayError, int prefetch) {
		return publishOn(scheduler, delayError, prefetch, prefetch);
	}
public final Flux<T> publishOn(Scheduler scheduler, boolean delayError, int prefetch) {
		return publishOn(scheduler, delayError, prefetch, prefetch);
	}
Run onNext, onComplete and onError on a supplied {@link Scheduler}
{@link Worker}.
<p>
This operator influences the threading context where the rest of the operators in
the chain below it will execute, up to a new occurrence of {@code publishOn}.
<p>
<img class="marble" src="doc-files/marbles/publishOnForFlux.svg" alt="">
<p>
Typically used for fast publisher, slow consumer(s) scenarios.
<blockquote><pre>
{@code flux.publishOn(Schedulers.single()).subscribe() }
</pre></blockquote>

@reactor.discard This operator discards elements it internally queued for backpressure upon cancellation or error triggered by a data signal.

@param scheduler a {@link Scheduler} providing the {@link Worker} where to publish
@param delayError should the buffer be consumed before forwarding any error
@param prefetch the asynchronous boundary capacity

@return a {@link Flux} producing asynchronously