public static <T> Connectable<T> scheduleFixedDelay(final Stream<T> stream, final long delay, final ScheduledExecutorService ex) {
        return new NonPausableConnectable<>(
                                          stream).scheduleFixedDelay(delay, ex);
    }
public static < T > Connectable < T > scheduleFixedDelay ( final Stream < T > stream , final long delay , final ScheduledExecutorService ex ) { return new NonPausableConnectable < > ( stream ) . scheduleFixedDelay ( delay , ex ) ; }
Execute this Stream on a schedule

<pre>
{@code
//run every 60 seconds after last job completes
Streams.scheduleFixedDelay(Stream.generate(()->"next job:"+formatDate(new Date()))
.map(this::processJob)
,60_000,Executors.newScheduledThreadPool(1)));
}
</pre>

Connect to the Scheduled Stream

<pre>
{@code
Connectable<Data> dataStream = Streams.scheduleFixedDelay(Stream.generate(()->"next job:"+formatDate(new Date()))
.map(this::processJob)
,60_000,Executors.newScheduledThreadPool(1)));


data.connect().forEach(this::logToDB);
}
</pre>


@param stream the stream to schedule element processing on
@param delay Between last element completes passing through the Stream until the next one starts
@param ex ScheduledExecutorService
@return Connectable Connectable of emitted from scheduled Stream