public void getWorkflowStatus(String accountId, String appId, String workflowId, final Callback callback)
throws IOException, ExecutionException, InterruptedException {
// determine the service provider for the given path
String serviceName = String.format("workflow.%s.%s.%s", accountId, appId, workflowId);
Discoverable discoverable = new RandomEndpointStrategy(discoveryServiceClient.discover(serviceName)).pick();
if (discoverable == null) {
LOG.debug("No endpoint for service {}", serviceName);
callback.handle(new Status(Status.Code.NOT_FOUND, ""));
return;