选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

设置任务优先级 - Amazon Simple Workflow Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置任务优先级

默认情况下,任务列表上的任务将基于其到达时间进行交付:首先安排的任务通常会尽可能首先运行。通过设置可选的任务优先级,您可以设定特定任务的优先级:Amazon SWF 会尝试先交付任务列表上优先级较高的任务,然后再交付优先级较低的任务。

注意

先安排的任务通常先运行,但是也不一定。

您可以同时为工作流和活动设置任务优先级。工作流的任务优先级既不影响其安排的任何活动的任务优先级,也不影响其开始的任何子工作流。活动或工作流的默认优先级是由您或 Amazon SWF 在注册过程中设置的,除非在安排活动或启动工作流执行时覆盖了注册的任务优先级,否则应始终使用默认优先级。

任务优先级值的范围可为“-2147483648”到“2147483647”,数字越大优先级越高。如果您未为活动或工作流设置任务优先级,则将为其分配零(“0”)优先级。

设置工作流的任务优先级

在您注册或开始工作流时,可以设置其任务优先级。注册工作流类型时设置的任务优先级将用作执行该类型的任何工作流的默认优先级,除非该优先级在开始执行工作流时被覆盖。

要注册具有默认任务优先级的工作流类型,请在使用RegisterWorkflowType操作时设置以下defaultTaskPriority选项:

{ "domain": "867530901", "name": "expeditedOrderWorkflow", "version": "1.0", "description": "Expedited customer orders workflow", "defaultTaskStartToCloseTimeout": "600", "defaultExecutionStartToCloseTimeout": "3600", "defaultTaskList": {"name": "mainTaskList"}, "defaultTaskPriority": "10", "defaultChildPolicy": "TERMINATE" }

使用以下命令开始执行工作流程时,您可以覆盖工作流程类型的注册任务优先级 StartWorkflowExecution

{ "childPolicy": "TERMINATE", "domain": "867530901", "executionStartToCloseTimeout": "1800", "input": "arbitrary-string-that-is-meaningful-to-the-workflow", "tagList": ["music purchase", "digital", "ricoh-the-dog"], "taskList": {"name": "specialTaskList"}, "taskPriority": "-20", "taskStartToCloseTimeout": "600", "workflowId": "20110927-T-1", "workflowType": {"name": "customerOrderWorkflow", "version": "1.0"}, }

您还可以在启动子工作流程或以新方式继续工作流程时(例如使用回应决策时)覆盖已注册的任务优先级RespondDecisionTaskCompleted

要设置子工作流的任务优先级,请在 startChildWorkflowExecutionDecisionAttributes 中提供值:

{ "taskToken": "AAAAKgAAAAEAAAAAAAAAA...", "decisions": [ { "decisionType": "StartChildWorkflowExecution", "startChildWorkflowExecutionDecisionAttributes": { "childPolicy": "TERMINATE", "control": "digital music", "executionStartToCloseTimeout": "900", "input": "201412-Smith-011x", "taskList": {"name": "specialTaskList"}, "taskPriority": "5", "taskStartToCloseTimeout": "600", "workflowId": "verification-workflow", "workflowType": { "name": "MyChildWorkflow", "version": "1.0" } } } ] }

在将一个工作流作为新的工作流继续执行时,请在 continueAsNewWorkflowExecutionDecisionAttributes 中设置任务优先级:

{ "taskToken": "AAAAKgAAAAEAAAAAAAAAA...", "decisions": [ { "decisionType": "ContinueAsNewWorkflowExecution", "continueAsNewWorkflowExecutionDecisionAttributes": { "childPolicy": "TERMINATE", "executionStartToCloseTimeout": "1800", "input": "5634-0056-4367-0923,12/12,437", "taskList": {"name": "specialTaskList"}, "taskStartToCloseTimeout": "600", "taskPriority": "100", "workflowTypeVersion": "1.0" } } ] }

设置活动的任务优先级

您可以在注册或安排活动时设置该活动的任务优先级。注册活动类型时设置的任务优先级将用作运行活动时的默认优先级,除非该优先级在安排活动时被覆盖。

要在注册活动类型时设置任务优先级,请在使用RegisterActivityType操作时设置以下defaultTaskPriority选项:

{ "defaultTaskHeartbeatTimeout": "120", "defaultTaskList": {"name": "mainTaskList"}, "defaultTaskPriority": "10", "defaultTaskScheduleToCloseTimeout": "900", "defaultTaskScheduleToStartTimeout": "300", "defaultTaskStartToCloseTimeout": "600", "description": "Verify the customer credit card", "domain": "867530901", "name": "activityVerify", "version": "1.0" }

要计划具有任务优先级的任务,请在安排带有以下操作的活动时使用 task Priority 选项:RespondDecisionTaskCompleted

{ "taskToken": "AAAAKgAAAAEAAAAAAAAAA...", "decisions": [ { "decisionType": "ScheduleActivityTask", "scheduleActivityTaskDecisionAttributes": { "activityId": "verify-account", "activityType": { "name": "activityVerify", "version": "1.0" }, "control": "digital music", "input": "abab-101", "taskList": {"name": "mainTaskList"}, "taskPriority": "15" } } ] }

返回任务优先级信息的操作

您可以从以下 Amazon SWF 操作中获取有关设置任务优先级(或设置默认任务优先级)的信息:

  • DescribeActivityType返回响应defaultTaskPriorityconfiguration部分中活动类型的。

  • DescribeWorkflowExecution返回响应executionConfiguration部分中工作流程执行的任务优先级

  • DescribeWorkflowType返回响应defaultTaskPriorityconfiguration部分中工作流程类型的。

  • GetWorkflowExecutionHistory并在响应的activityTaskScheduledEventAttributesdecisionTaskScheduledEventAttributesworkflowExecutionContinuedAsNewEventAttributes、和workflowExecutionStartedEventAttributes部分中PollForDecisionTask提供任务优先级信息。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。