aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/AsyncService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/queue/AsyncService.java')
-rwxr-xr-xsrc/main/java/io/trygvis/queue/AsyncService.java37
1 files changed, 15 insertions, 22 deletions
diff --git a/src/main/java/io/trygvis/queue/AsyncService.java b/src/main/java/io/trygvis/queue/AsyncService.java
index b08db1f..10f1b79 100755
--- a/src/main/java/io/trygvis/queue/AsyncService.java
+++ b/src/main/java/io/trygvis/queue/AsyncService.java
@@ -2,32 +2,25 @@ package io.trygvis.queue;
import org.quartz.*;
-import java.util.*;
+public interface AsyncService {
-public interface AsyncService<QueueRef extends AsyncService.QueueRef, ExecutionRef extends AsyncService.ExecutionRef> {
+ /**
+ * @param name
+ * @param interval how often the queue should be polled for missed tasks in seconds.
+ * @param callable
+ * @return
+ * @throws SchedulerException
+ */
+ Queue registerQueue(String name, int interval, AsyncCallable callable) throws SchedulerException;
- JpaAsyncService.JpaQueueRef registerQueue(String name, int interval, AsyncCallable callable) throws SchedulerException;
+ Queue getQueue(String name);
- QueueRef getQueue(String name);
+ Task schedule(Queue queue, String... args);
- ExecutionRef schedule(QueueRef queue, String... args);
-
- ExecutionRef update(ExecutionRef ref);
-
- interface QueueRef {
- }
-
- interface ExecutionRef {
- List<String> getArguments();
-
- Date getScheduled();
-
- Date getLastRun();
-
- Date getCompleted();
-
- boolean isDone();
- }
+ /**
+ * Polls for a new state of the execution.
+ */
+ Task update(Task ref);
interface AsyncCallable {
void run() throws Exception;