reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static Mono<Long> delay(Duration duration, Scheduler timer) {
		return onAssembly(new MonoDelay(duration.toMillis(), TimeUnit.MILLISECONDS, timer));
	}
public static Mono<Long> delay(Duration duration, Scheduler timer) {
		return onAssembly(new MonoDelay(duration.toMillis(), TimeUnit.MILLISECONDS, timer));
	}
Create a Mono which delays an onNext signal by a given {@link Duration duration}
on a provided {@link Scheduler} and completes.
If the demand cannot be produced in time, an onError will be signalled instead.

<p>
<img class="marble" src="doc-files/marbles/delay.svg" alt="">
<p>
@param duration the {@link Duration} of the delay
@param timer a time-capable {@link Scheduler} instance to run on

@return a new {@link Mono}