RodionGork commented on a change in pull request #489: GRIFFIN-240 Return
JobInstanceBean in response to a call Trigger job by id
URL: https://github.com/apache/griffin/pull/489#discussion_r270744266
##########
File path:
service/src/main/java/org/apache/griffin/core/job/JobServiceImpl.java
##########
@@ -666,9 +668,31 @@ public void triggerJobById(Long id) throws
SchedulerException {
.forJob(jobKey)
.startNow()
.build();
- scheduler.scheduleJob(trigger);
+ TriggerKey key = trigger.getKey();
+ CountDownLatch latch = new CountDownLatch(1);
+ String listenerName = "listenerJob_" + jobKey.toString();
+ try {
+ scheduler.getListenerManager().addTriggerListener(
+ new CountDownTriggerListener(latch, listenerName)
+ , key::equals);
+
+ scheduler.scheduleJob(trigger);
+
+ try {
+ latch.await(0, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ LOGGER.warn("CountDownLatch awaiting is interrupted");
+ }
+ List<JobInstanceBean> instanceBeans =
instanceRepo.findByTriggerKey(key.toString());
Review comment:
We probably can slightly change this API to become properly asynchronous -
we can return triggerKey from the `/trigger` request and then client can send
further requests with this key to find the instance as in this line.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services