I have the below application setup.
1) Conductor Server - Cloud Container - No Security
2) Java Worker (Spring Boot) - Local Machine
Task is registered with Conductor no issues.
Task Def is created by calling API programatically no issues.
Workflow created by calling API from Postman.
Task Type is SIMPLE
task name is matching the registered task name.
Worker is NOT polling the Task.
It is forever in Scheduled status.
If I try to replicate the same by having the Conductor Server run in local docker container, there seems to be no issue.
There are no task domain used. A dummy worker which prints a line in console. A workflow without any input , just to have that one task.
Just a side note, a Python worker on the other hand is able to poll from local docker container as well as from cloud conductor container.
Worker Registration Code
logger.info("Registering Sub Workers ");
TaskClient taskClient = new TaskClient();
logger.info("Pointing to Conductor Server " + CONDUCTOR_SERVER_URL);
taskClient.setRootURI(CONDUCTOR_SERVER_URL); //Point this to the server API
int threadCount = 2; //number of threads used to execute workers. To avoid starvation, should be same or more than number of workers
Worker urlCheckerSubWorker = new URLCheckerSubWorker(TASK_CHECK_URLS, WORKER_NAME);
Worker emailSenderSubWorker = new EmailSenderSubWorker(TASK_SEND_EMAIL, javaMailSender, WORKER_NAME);
//Create WorkflowTaskCoordinator
logger.info("Creating WorkflowTaskCoordinator " + urlCheckerSubWorker + threadCount + taskClient);
WorkflowTaskCoordinator.Builder builder = new WorkflowTaskCoordinator.Builder();
WorkflowTaskCoordinator coordinator = builder.withWorkers(urlCheckerSubWorker,emailSenderSubWorker,controlMWorker).withThreadCount(threadCount).withTaskClient(taskClient).build();
//Start for polling and execution of the tasks
logger.info("Initializing Coordincator ");
coordinator.init();
logger.info("Completed Coordinator Initialization "+ coordinator.getWorkerNamePrefix());
Workflow Definition is as below
{
"ownerApp": "Test_5_Control_M_Test_5_Control_M",
"createTime": 1567632362352,
"createdBy": "AutoPoP Workflow Generator",
"name": "Test_5_Control_M",
"description": "Test_5_Control_M",
"version": 1,
"tasks": [
{
"name": "TASK_CHECK_URLS",
"taskReferenceName": "TK-05_09_19_02_55_11_005",
"description": "TK-05_09_19_02_55_11_005"
},
"type": "SIMPLE",
"startDelay": 0,
"optional": true,
"rateLimited": false
}
],
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false
}
Looks like you should check network issues
Can you change your Worker's log4j settings so that it prints at a DEBUG level? The conductor worker code should print out what it's doing behind the scenes (like each polling call)
you can enabled logger com.netflix.conductor.service.TaskServiceImpl on conductor side to see for sure whether workers reach conductor-server

Found the issue.
Client Jars were not able to connect to Conductor Server over HTTPS.
Updated code while TaskClient object creation by passing HTTP client configuration that bypasses certificate check, not recommended but in our usecase security is managed at container level and hence we can bypass certificate validation.
I will paste the working code shortly but this issue it's closed