use of com.graphaware.nlp.workflow.task.WorkflowTask in project neo4j-nlp by graphaware.
the class WorkflowTaskProcedure method stop.
@Procedure(name = "ga.nlp.workflow.task.stop", mode = Mode.WRITE)
@Description("Start a Task")
public Stream<WorkflowInstanceItemInfo> stop(@Name(value = "name") String name) {
try {
WorkflowTask workflowTask = getWorkflowManager().getWorkflowTask(name);
if (workflowTask == null) {
throw new RuntimeException("Pipeline task not found");
}
TaskManager.getInstance().stop(workflowTask);
return Stream.of(workflowTask.getInfo());
} catch (Exception e) {
LOG.error("ERROR in WorkflowTaskProcedure", e);
throw new RuntimeException(e);
}
}
use of com.graphaware.nlp.workflow.task.WorkflowTask in project neo4j-nlp by graphaware.
the class DynamicConfigurationTest method testLoadingInstances.
@Test
public void testLoadingInstances() throws Exception {
resetSingleton();
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);
keyValueStore = new GraphKeyValueStore(getDatabase());
WorkflowTask workflowInput = new WorkflowTask("test", getDatabase());
DynamicConfiguration configuration = new DynamicConfiguration(getDatabase());
HashMap<String, Object> properties = new HashMap<>();
properties.put(WorkflowTaskConfiguration.WORFKLOW_INPUT_NAME, "");
properties.put(WorkflowTaskConfiguration.WORFKLOW_OUTPUT_NAME, "");
properties.put(WorkflowTaskConfiguration.WORFKLOW_PROCESSOR_NAME, "");
workflowInput.setConfiguration(new WorkflowTaskConfiguration(properties));
try (Transaction tx = getDatabase().beginTx()) {
configuration.storeWorkflowInstanceItem(workflowInput);
tx.success();
}
List<WorkflowInstanceItemInfo> pipelineInstanceItems = configuration.loadPipelineInstanceItems(WorkflowTask.WORFKLOW_TASK_KEY_PREFIX);
assertTrue(pipelineInstanceItems.size() == 1);
WorkflowInstanceItemInfo info = pipelineInstanceItems.get(0);
assertTrue(info instanceof WorkflowTaskInstanceItemInfo);
assertEquals("test", info.getName());
assertEquals("com.graphaware.nlp.workflow.task.WorkflowTask", info.getClassName());
}
use of com.graphaware.nlp.workflow.task.WorkflowTask in project neo4j-nlp by graphaware.
the class WorkflowTaskProcedure method start.
@Procedure(name = "ga.nlp.workflow.task.start", mode = Mode.WRITE)
@Description("Start a Task")
public Stream<WorkflowTaskResult> start(@Name(value = "name") String name) {
try {
WorkflowTask workflowTask = getWorkflowManager().getWorkflowTask(name);
if (workflowTask == null) {
throw new RuntimeException("Pipeline task not found");
}
TaskManager.getInstance().execute(workflowTask);
return Stream.of(new WorkflowTaskResult(workflowTask));
} catch (Exception e) {
LOG.error("ERROR in WorkflowTaskProcedure", e);
throw new RuntimeException(e);
}
}
Aggregations