描述
WorkflowExecutionResult对象提供在工作流中执行步骤的结果。
讨论
WorkflowExecutionResult 对象提供可指示步骤执行状态的返回代码。每一个步骤都有其各自的有效返回代码,并且可用来指引工作流的路径。
属性
属性 | 说明 | 数据类型 |
returnCode (只读) | 在工作流中执行一个步骤后返回的代码。此代码可指示步骤是成功还是失败,并可用于推动工作流的执行。 | Integer |
代码示例
以下脚本演示了如何从步骤执行过程中获得返回代码。
import arcpy, sys, traceback
#Define the callback response function. In this case it will prompt the user using the console to respond.
def callback(question, responses):
# Print out the expected responses
for resp in responses:
print("[%i] %s" % (resp[1], resp[0]))
# Prompt the user to respond
val = int(input("%s - %s: " % (question[1], question[0])))
# Return their response. Currently only returning the value, but could also return a note (for questions) and the name of the response
return (val, "", "")
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get a Job for Execution
job = conn.getJob(77601)
try:
#Execute the current Step in the workflow
result = job.executeStep(callback=callback)
print ("Executing the first step returned %i" % result.returnCode)
#Run the next Step in the workflow
result = job.executeStep(callback=callback)
#Mark the step as complete
job.markStepAsComplete(callback=callback)
#Raised when a step in the workflow encounters an execution error
except wmx.WorkflowExecutionStepError as e:
print ("Step failed to execute:")
print("-"*60)
traceback.print_exc()
#Raised when a workflow encounters an execution error
except wmx.WorkflowExecutionError as f:
print ("Workflow failed to execute:")
print("-"*60)
traceback.print_exc()