package io.trygvis.queue; import java.sql.SQLException; import java.util.Date; import java.util.List; public interface QueueService { QueueExecutor getQueue(String name, int interval, boolean autoCreate) throws SQLException; void schedule(Queue queue, Date scheduled, List arguments) throws SQLException; public static class TaskExecutionRequest { public final long chunkSize; public final boolean stopOnError; // TODO: saveExceptions public TaskExecutionRequest(long chunkSize, boolean stopOnError) { if (chunkSize <= 0) { throw new IllegalArgumentException("chunkSize has to be bigger than zero."); } this.chunkSize = chunkSize; this.stopOnError = stopOnError; } @Override public String toString() { return "TaskExecutionRequest{" + "chunkSize=" + chunkSize + ", stopOnError=" + stopOnError + '}'; } } }