diff options
Diffstat (limited to 'src/main/java/io/trygvis/queue/JdbcAsyncService.java')
-rw-r--r-- | src/main/java/io/trygvis/queue/JdbcAsyncService.java | 12 |
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() { |