package io.budgetapp.managed;
import io.budgetapp.job.RecurringJob;
import io.dropwizard.lifecycle.Managed;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
*
*/
public class JobsManaged implements Managed {
private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
private final RecurringJob recurringJob;
public JobsManaged(RecurringJob recurringJob) {
this.recurringJob = recurringJob;
}
@Override
public void start() throws Exception {
scheduler.scheduleAtFixedRate(recurringJob, 0, 10, TimeUnit.SECONDS);
}
@Override
public void stop() throws Exception {
scheduler.shutdown();
}
}