class PeriodicalHealthChecks implements Startable {

    public void start() {
        disposable = Flux.interval(configuration.getPeriod(), scheduler)
            .flatMapIterable(any -> healthChecks)
            .flatMap(healthCheck -> Mono.from(healthCheck.check()))
            .doOnNext(this::logResult)
            .onErrorContinue(this::logError)
            .subscribeOn(Schedulers.elastic())
            .subscribe();
    }

    @Inject  PeriodicalHealthChecks(Set<HealthCheck> healthChecks, PeriodicalHealthChecksConfiguration configuration);
      PeriodicalHealthChecks(Set<HealthCheck> healthChecks, Scheduler scheduler, PeriodicalHealthChecksConfiguration configuration);

}