Zusammenfassung
The WorkflowExecutionError exception is raised when a workflow encounters an execution error.
Beschreibung
The WorkflowExecutionError exception is raised if the workflow cannot be executed. For example, if the job is not assigned to the current user or the job is closed, it is not possible to execute a job's workflow.
Codebeispiel
The WorkflowExecutionError exception is used below to handle any errors that result from trying to execute the workflow.
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 Job - a LaunchArcmap step without Proceed to Next enabled
result = job.executeStep(callback=callback)
#A LaunchArcmap step will not finish automatically it will be complete after the user indicates it is.
if not(result.finished):
t = input("Please press any key and hit enter when finished step")
#Finish the step and Mark as Complete
result.finishStep(callback=callback)
job.markStepAsComplete(callback=callback)
#Run the next step in the workflow
result = job.executeStep(callback=callback)
print "Executing a 2nd step returned %i" + result.returnCode
#Mark the step as complete
job.markStepAsComplete(callback=callback)
except wmx.WorkflowExecutionStepError as e:
print "Step failed to execute:"
print "-"*60
traceback.print_exc()