org.apache.helix.task.WorkflowContext.getRecord()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(6.3k)|赞(0)|评价(0)|浏览(143)

本文整理了Java中org.apache.helix.task.WorkflowContext.getRecord()方法的一些代码示例,展示了WorkflowContext.getRecord()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WorkflowContext.getRecord()方法的具体详情如下:
包路径:org.apache.helix.task.WorkflowContext
类名称:WorkflowContext
方法名:getRecord

WorkflowContext.getRecord介绍

暂无

代码示例

代码示例来源:origin: apache/helix

  1. /**
  2. * Update context of the Workflow
  3. */
  4. public void updateWorkflowContext(String resourceName, WorkflowContext workflowContext) {
  5. updateContext(resourceName, workflowContext.getRecord());
  6. }

代码示例来源:origin: org.apache.helix/helix-core

  1. /**
  2. * Update context of the Workflow
  3. */
  4. public void updateWorkflowContext(String resourceName, WorkflowContext workflowContext,
  5. HelixDataAccessor accessor) {
  6. updateContext(resourceName, workflowContext.getRecord(), accessor);
  7. }

代码示例来源:origin: apache/helix

  1. /**
  2. * Set the runtime context of a single workflow
  3. * @param manager a connection to Helix
  4. * @param workflow the name of the workflow
  5. * @param workflowContext the up-to-date {@link WorkflowContext} for the workflow
  6. */
  7. protected static void setWorkflowContext(HelixManager manager, String workflow,
  8. WorkflowContext workflowContext) {
  9. manager.getHelixPropertyStore().set(
  10. Joiner.on("/").join(TaskConstants.REBALANCER_CONTEXT_ROOT, workflow, CONTEXT_NODE),
  11. workflowContext.getRecord(), AccessOption.PERSISTENT);
  12. }

代码示例来源:origin: org.apache.helix/helix-core

  1. /**
  2. * Set the runtime context of a single workflow
  3. * @param manager a connection to Helix
  4. * @param workflow the name of the workflow
  5. * @param workflowContext the up-to-date {@link WorkflowContext} for the workflow
  6. */
  7. protected static void setWorkflowContext(HelixManager manager, String workflow,
  8. WorkflowContext workflowContext) {
  9. manager.getHelixPropertyStore().set(
  10. Joiner.on("/").join(TaskConstants.REBALANCER_CONTEXT_ROOT, workflow, CONTEXT_NODE),
  11. workflowContext.getRecord(), AccessOption.PERSISTENT);
  12. }

代码示例来源:origin: apache/helix

  1. @GET
  2. @Path("{workflowId}/context")
  3. public Response getWorkflowContext(@PathParam("clusterId") String clusterId,
  4. @PathParam("workflowId") String workflowId) {
  5. TaskDriver taskDriver = getTaskDriver(clusterId);
  6. WorkflowContext workflowContext = taskDriver.getWorkflowContext(workflowId);
  7. ObjectNode workflowContextNode = JsonNodeFactory.instance.objectNode();
  8. if (workflowContext != null) {
  9. getWorkflowContextNode(workflowContextNode, workflowContext.getRecord());
  10. }
  11. return JSONRepresentation(workflowContextNode);
  12. }

代码示例来源:origin: apache/helix

  1. @Override
  2. public ZNRecord update(ZNRecord currentData) {
  3. if (currentData != null) {
  4. WorkflowContext workflowContext = new WorkflowContext(currentData);
  5. workflowContext.removeJobStates(jobs);
  6. workflowContext.removeJobStartTime(jobs);
  7. currentData = workflowContext.getRecord();
  8. }
  9. return currentData;
  10. }
  11. };

代码示例来源:origin: org.apache.helix/helix-core

  1. @Override
  2. public ZNRecord update(ZNRecord currentData) {
  3. if (currentData != null) {
  4. WorkflowContext workflowContext = new WorkflowContext(currentData);
  5. workflowContext.removeJobStates(jobs);
  6. workflowContext.removeJobStartTime(jobs);
  7. currentData = workflowContext.getRecord();
  8. }
  9. return currentData;
  10. }
  11. };

代码示例来源:origin: apache/helix

  1. /**
  2. * This test method tests whether PropertyKey.Builder successfully creates a path for
  3. * WorkflowContext instances.
  4. * TODO: KeyBuilder must handle the case for future versions of Task Framework with a different
  5. * path structure
  6. */
  7. @Test
  8. public void testGetWorkflowContext() {
  9. // Manually create a WorkflowContext instance
  10. ZNRecord znRecord = new ZNRecord(WORKFLOW_NAME);
  11. WorkflowContext workflowContext = new WorkflowContext(znRecord);
  12. _manager.getHelixPropertyStore().set(
  13. Joiner.on("/").join(TaskConstants.REBALANCER_CONTEXT_ROOT, WORKFLOW_NAME, CONTEXT_NODE),
  14. workflowContext.getRecord(), AccessOption.PERSISTENT);
  15. // Test retrieving this WorkflowContext using PropertyKey.Builder.getPath()
  16. String path = KEY_BUILDER.workflowContext(WORKFLOW_NAME).getPath();
  17. WorkflowContext workflowCtx =
  18. new WorkflowContext(_baseAccessor.get(path, null, AccessOption.PERSISTENT));
  19. Assert.assertEquals(workflowContext, workflowCtx);
  20. }

代码示例来源:origin: apache/helix

  1. @GET
  2. @Path("{workflowId}")
  3. public Response getWorkflow(@PathParam("clusterId") String clusterId,
  4. @PathParam("workflowId") String workflowId) {
  5. TaskDriver taskDriver = getTaskDriver(clusterId);
  6. WorkflowConfig workflowConfig = taskDriver.getWorkflowConfig(workflowId);
  7. WorkflowContext workflowContext = taskDriver.getWorkflowContext(workflowId);
  8. ObjectNode root = JsonNodeFactory.instance.objectNode();
  9. TextNode id = JsonNodeFactory.instance.textNode(workflowId);
  10. root.put(Properties.id.name(), id);
  11. ObjectNode workflowConfigNode = JsonNodeFactory.instance.objectNode();
  12. ObjectNode workflowContextNode = JsonNodeFactory.instance.objectNode();
  13. if (workflowConfig != null) {
  14. getWorkflowConfigNode(workflowConfigNode, workflowConfig.getRecord());
  15. }
  16. if (workflowContext != null) {
  17. getWorkflowContextNode(workflowContextNode, workflowContext.getRecord());
  18. }
  19. root.put(WorkflowProperties.WorkflowConfig.name(), workflowConfigNode);
  20. root.put(WorkflowProperties.WorkflowContext.name(), workflowContextNode);
  21. JobDag jobDag = workflowConfig.getJobDag();
  22. ArrayNode jobs = OBJECT_MAPPER.valueToTree(jobDag.getAllNodes());
  23. ObjectNode parentJobs = OBJECT_MAPPER.valueToTree(jobDag.getChildrenToParents());
  24. root.put(WorkflowProperties.Jobs.name(), jobs);
  25. root.put(WorkflowProperties.ParentJobs.name(), parentJobs);
  26. root.put(WorkflowProperties.LastScheduledTask.name(), OBJECT_MAPPER.valueToTree(taskDriver.getLastScheduledTaskExecutionInfo(workflowId)));
  27. return JSONRepresentation(root);
  28. }

代码示例来源:origin: apache/helix

  1. StringRepresentation getHostedEntitiesRepresentation(String clusterName, String jobQueueName)
  2. throws Exception {
  3. ZkClient zkClient =
  4. ResourceUtil.getAttributeFromCtx(getContext(), ResourceUtil.ContextKey.ZKCLIENT);
  5. HelixDataAccessor accessor =
  6. ClusterRepresentationUtil.getClusterDataAccessor(zkClient, clusterName);
  7. PropertyKey.Builder keyBuilder = accessor.keyBuilder();
  8. TaskDriver taskDriver = new TaskDriver(zkClient, clusterName);
  9. // Get job queue config
  10. // TODO: fix this to use workflowConfig.
  11. ResourceConfig jobQueueConfig = accessor.getProperty(keyBuilder.resourceConfig(jobQueueName));
  12. // Get job queue context
  13. WorkflowContext ctx = taskDriver.getWorkflowContext(jobQueueName);
  14. // Create the result
  15. ZNRecord hostedEntitiesRecord = new ZNRecord(jobQueueName);
  16. if (jobQueueConfig != null) {
  17. hostedEntitiesRecord.merge(jobQueueConfig.getRecord());
  18. }
  19. if (ctx != null) {
  20. hostedEntitiesRecord.merge(ctx.getRecord());
  21. }
  22. StringRepresentation representation =
  23. new StringRepresentation(ClusterRepresentationUtil.ZNRecordToJson(hostedEntitiesRecord),
  24. MediaType.APPLICATION_JSON);
  25. return representation;
  26. }

相关文章