aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/JdbcAsyncService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/queue/JdbcAsyncService.java')
-rw-r--r--src/main/java/io/trygvis/queue/JdbcAsyncService.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/io/trygvis/queue/JdbcAsyncService.java b/src/main/java/io/trygvis/queue/JdbcAsyncService.java
index 06e7eee..276541f 100644
--- a/src/main/java/io/trygvis/queue/JdbcAsyncService.java
+++ b/src/main/java/io/trygvis/queue/JdbcAsyncService.java
@@ -94,6 +94,14 @@ public class JdbcAsyncService implements AsyncService {
@Transactional(propagation = REQUIRED)
public Task schedule(final Queue queue, String... args) {
+ return scheduleInner(null, queue, args);
+ }
+
+ public Task schedule(long parent, Queue queue, String... args) {
+ return scheduleInner(parent, queue, args);
+ }
+
+ private Task scheduleInner(Long parent, final Queue queue, String... args) {
Date scheduled = new Date();
StringBuilder arguments = new StringBuilder();
@@ -101,8 +109,8 @@ public class JdbcAsyncService implements AsyncService {
arguments.append(arg).append(' ');
}
- long id = taskDao.insert(queue.name, scheduled, arguments.toString());
- Task task = new Task(id, queue.name, scheduled, null, 0, null, asList(args));
+ long id = taskDao.insert(parent, queue.name, scheduled, arguments.toString());
+ Task task = new Task(parent, id, queue.name, scheduled, null, 0, null, asList(args));
log.info("Created task = {}", task);
registerSynchronization(new TransactionSynchronizationAdapter() {