Resumen
El objeto WorkflowConnection proporciona acceso a métodos para crear u obtener un trabajo de Workflow Manager.
Debate
Los trabajos se crean a partir de una plantilla de tipo de trabajo. Todas las propiedades del nuevo trabajo se heredan automáticamente del tipo de trabajo y se pueden actualizar tras la creación utilizando los métodos Job.
Vista general del método
| Método | Explicación |
| createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback}) | Crea un nuevo trabajo basado en un tipo de trabajo. |
| getJob (jobID) | Devolver un trabajo único mediante su Id. de trabajo. |
Métodos
createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback})| Parámetro | Explicación | Tipo de datos |
job_type_id | El Id. del tipo de trabajo desde el que crear un nuevo trabajo. | Integer |
job_type_name | El nombre del tipo de trabajo desde el que crear un nuevo trabajo. | String |
job_type_description | Las propiedades del tipo de trabajo que se pueden personalizar y asignar a un trabajo nuevo antes de crearlo, proporcionadas como el objeto JobTypeDescription. | JobTypeDescription |
callback | El argumento de devolución de llamada se utiliza cuando el trabajo se establece de forma que se ejecuta automáticamente una vez creado. Transfiere una función que solicita al usuario una respuesta según la entrada del tipo de paso. Cuando se ejecuta un paso de pregunta, por ejemplo, la devolución de llamada adopta las posibles opciones de respuesta al paso y permite al usuario elegir el paso siguiente. También se utiliza cuando no es posible determinar el siguiente paso del flujo de trabajo y el usuario puede seleccionar la ruta a seguir. | Function |
Valor de retorno
| Tipo de datos | Explicación |
| Job | Devuelve el trabajo creado como Job. Se devuelve una lista de Python de objetos Job cuando se crean varios trabajos mediante una lista de objetos Polygon en el JobTypeDescription y el AOI no se ha establecido para combinarse. |
Para crear un nuevo trabajo se requiere un nombre de tipo de trabajo, un Id. de tipo de trabajo o una descripción de tipo de trabajo.
La siguiente secuencia de comandos crea dos trabajos en la base de datos de Workflow Manager: una definida por el nombre de tipo de trabajo y la otra por el Id. de tipo de trabajo.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Create a Workflow Job of type Data Edits
job = conn.createJob(job_type_name="Data Edits")
#Create a Workflow Job of type 5
job2 = conn.createJob(job_type_id = 5)
La siguiente secuencia de comandos crea un trabajo en la base de datos Workflow Manager utilizando la descripción del tipo de trabajo personalizada. La descripción del trabajo personalizada proporciona el AOI, asigna el trabajo a un usuario, asigna un espacio de trabajo de datos al trabajo, asigna una versión principal mediante el Id., asigna una versión de trabajo principal, agrega un prefijo al trabajo y asigna una versión para el trabajo.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Create a polygon geometry for LOI
coordList = [[-105.0, 39.0], [-100.0, 39.0], [-100.0, 35.0], [-105.0, 35.0]]
array = arcpy.Array([arcpy.Point(x, y) for x, y in coordList])
loi = arcpy.Polygon(array)
#Create a job type description with customized properties
desc = {'loi': loi, 'assigned_to':'amiller' , 'assigned_type': 'User', 'data_workspace_id':'{DB245005-0D1E-47B8-AE39-CC08530A6C9D}', 'job_type_name':'Quality Control', 'parent_job_id': 9999, 'parent_version_name': 'sde.Default', 'prefix':'QA_', 'version_name':'QA_QC'}
#Create a Workflow Job of type Data Edits
job = conn.createJob(job_type_description=desc)
getJob (jobID)
| Parámetro | Explicación | Tipo de datos |
jobID | El Id. del trabajo que devolver. | Integer |
Valor de retorno
| Tipo de datos | Explicación |
| Job | Devuelve el trabajo como Job. |
Ofrece una forma sencilla de recuperar un trabajo.
Obtener un trabajo desde una base de datos de Workflow Manager.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
Muestra de código
La siguiente secuencia de comandos crea un trabajo y obtiene otro desde una base de datos de Workflow Manager.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Create a Workflow Job of type Data Edits
job = conn.createJob(job_type_name="Data Edits")
#Access a Workflow Job
job = conn.getJob(99999)