WorkflowConnection

Resumen

El objeto WorkflowConnection ofrece acceso a métodos para crear u obtener un trabajo de Workflow Manager (Classic).

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.

Propiedades

PropiedadExplicaciónTipo de datos
jtcPath
(Sólo lectura)

Devuelve la ruta al archivo de conexión de flujo de trabajo (.jtc) del proyecto de ArcGIS Pro.

Si ya existe una conexión con ArcGIS Pro, devolverá la ruta completa al archivo de conexión de flujo de trabajo. Si se crea una conexión a la base de datos mediante Connect, puede utilizar la propiedad jtcPath para obtener la ruta de conexión de flujo de trabajo introducida de forma manual para establecer la conexión.

String

Descripción general del método

MétodoExplicación
createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback})

Crea un nuevo trabajo basado en un tipo de trabajo.

createSD (output_directory, service_name, {connection_file_path}, {folder_name}, {description}, {mininstances}, {maxinstances}, {maxusagetime}, {maxwaittime}, {maxidletime})

Crea un archivo de definición de servicio (.sd) del tipo de servicio de Workflow Manager (clásico) que luego se puede publicar en un servidor SIG específico.

getJob (jobID)

Devolver un trabajo único mediante su Id. de trabajo.

getQualifiedTableName (table_name)

Devuelve un nombre de tabla totalmente calificado para una tabla de una base de datos de Workflow Manager (Classic).

queryJobs (fields, tables, {aliases}, {where}, {order_by})

Consulta trabajos basándose en criterios, devuelve un objeto QueryResult y después permite el acceso a una lista de trabajos y propiedades de trabajo que cumplen los criterios.

Métodos

createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback})
ParámetroExplicaciónTipo 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 ha configurado para que se ejecute 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 datosExplicación
Job

Devuelve el trabajo creado como Job. Se devuelve una lista de objetos Job cuando se crean varios trabajos proporcionando una lista de objetos Geometry en JobTypeDescription y los LOI no se han configurado 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 (clásico): una definida por el nombre de tipo de trabajo y la otra por el Id. de tipo de trabajo.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.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 (clásico) utilizando la descripción del tipo de trabajo personalizada. La descripción del trabajo personalizada proporciona el LOI, 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 al trabajo.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.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', 'assignedTo':'amiller', 'assignedType': 'User', 'dataWorkspaceID':'{DB245005-0D1E-47B8-AE39-CC08530A6C9D}', 'jobTypeName':'Quality Control', 'parentJobID': '9999', 'parentVersionName': 'sde.Default', 'prefix':'QA_', 'versionName':'QA_QC'}

#Create a Workflow Job of type Quality Control
job = conn.createJob(job_type_description=desc)
createSD (output_directory, service_name, {connection_file_path}, {folder_name}, {description}, {mininstances}, {maxinstances}, {maxusagetime}, {maxwaittime}, {maxidletime})
ParámetroExplicaciónTipo de datos
output_directory

La ruta de la carpeta para el archivo de salida (.sd).

String
service_name

El nombre del servicio. El nombre sólo puede contener caracteres alfanuméricos y guiones bajos. El nombre no puede incluir más de 120 caracteres.

String
connection_file_path

La ruta y el nombre del archivo de conexión de ArcGIS Server (.ags).

String
folder_name

El nombre de la carpeta donde se publicará la definición del servicio. Si la carpeta no existe, se creará. La carpeta predeterminada está en el nivel raíz del servidor.

String
description

El resumen de la descripción.

String
mininstances

La cantidad mínima de instancias que iniciará un servicio y que pondrá a disposición para utilizarlas.

(El valor predeterminado es 1)

Integer
maxinstances

La cantidad máxima de instancias que puede iniciar un servicio y ponerlas a disposición para utilizarlas.

(El valor predeterminado es 2)

Integer
maxusagetime

La cantidad máxima de tiempo, en segundos, que un servicio se puede utilizar. Para tareas cuya ejecución se prevé larga, incremente el tiempo predeterminado.

(El valor predeterminado es 600)

Integer
maxwaittime

La cantidad máxima de tiempo, en segundos, que el cliente debe esperar para conectarse con una instancia antes de que caduque. Cuando todas las instancias están ocupados procesando solicitudes, las solicitudes posteriores están a la cola. Si este tiempo de inactividad se acaba antes de que esté disponible una instancia, la tarea fallará.

(El valor predeterminado es 60)

Integer
maxidletime

La cantidad máxima de tiempo, en segundos, que una instancia seguirá activa antes de que tenga lugar el acortamiento de grupo Cualquier instancia por encima de la cantidad mínima de instancias que no se han utilizado será cerrada unan vez que se haya terminado el valor máximo de inactividad.

Integer
Valor de retorno
Tipo de datosExplicación
String

La ruta de salida al archivo .sd resultante.

createSD es el primer paso para automatizar la publicación de un tipo de servicio de Workflow Manager (clásico) en un servidor SIG utilizando ArcPy. La salida creada desde el createSD es un archivo de definición de servicio (.sd) que representa el tipo de servicio de Workflow Manager (clásico), es una combinación de información sobre el servidor y un conjunto de propiedades del servicio.

Es posible crear una definición de servicio sin conocer la información específica sobre la conexión de servidor. En este caso, se puede omitir el parámetro connection_file_path.

Una vez creado el archivo de definición de servicio de salida se puede cargar y publicar como un servicio de Workflow Manager (clásico) en un servidor SIG específico mediante la función Cargar definición de servicio. Se toma el archivo de definición de servicio, se copia en el servidor, se extrae la información necesaria y se publica el recurso SIG. Para obtener más información, consulte Descripción general sobre el conjunto de herramientas Publicación.

Si utiliza ArcGIS Pro, el servidor SIG especificado debe estar federado en un portal.

Cree un archivo de definición de servicio de Workflow Manager (clásico) y publíquelo en un servidor SIG federado.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

# Create the service definition file with connecting to the federated ArcGIS Server

conn.createSD(r'c:\test\SD','Workflow', None, 'serverfolder','service description',2,4,3000,300,2000)

# Publish the service using the service definition file
arcpy.UploadServiceDefinition_server(r'c:\test\SD\workflow.sd', 'https://servername.domain:6443/arcgis')
getJob (jobID)
ParámetroExplicaciónTipo de datos
jobID

El Id. del trabajo que devolver.

Integer
Valor de retorno
Tipo de datosExplicació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 (clásico).

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Access a Workflow Job
job = conn.getJob(99999)
getQualifiedTableName (table_name)
ParámetroExplicaciónTipo de datos
table_name

El nombre de tabla que se debe calificar.

String
Valor de retorno
Tipo de datosExplicación
String

Devuelve el nombre de tabla totalmente calificado.

Obtener un nombre de tabla totalmente calificado de una base de datos de Workflow Manager (Classic).

import arcpy


#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Enter a tablename in the Workflow database
tablename = conn.getQualifiedTableName("Trails")
queryJobs (fields, tables, {aliases}, {where}, {order_by})
ParámetroExplicaciónTipo de datos
fields

Los campos de las tablas de consulta que se van a devolver para los trabajos que cumplen los criterios.

String
tables

Tablas de la base de datos de Workflow Manager (clásico) utilizadas para consultar trabajos.

String
aliases

Nombres de alias definidos por el usuario para los campos devueltos. Los nombres de alias se enumeran en el mismo orden que los campos correspondientes.

String
where

Cláusula Where utilizada para consultar trabajos.

String
order_by

Campos utilizados para ordenar los resultados de la consulta.

String
Valor de retorno
Tipo de datosExplicación
Object

El método QueryJobs devuelve un objeto QueryResult y permite el acceso a la lista de trabajos y propiedades de trabajo que ha devuelto la consulta.

El objeto QueryResult es una lista de QueryRow que hace referencia a un determinado trabajo y QueryField a la propiedad de un determinado trabajo, que ha devuelto el método QueryJobs.

La secuencia de comandos siguiente ejecuta una consulta para buscar e imprimir los nombres de trabajos asignados al usuario actual.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Run a query for the jobs assigned to the current user and print each job name
for row in conn.queryJobs("JOB_NAME,ASSIGNED_TO","JTX_JOBS","Job Name,Assigned To", "ASSIGNED_TO = '[SYS:CUR_LOGIN]'", "JOB_NAME").rows:
	print(row[0])

Muestra de código

El siguiente script crea un trabajo y obtiene otro desde una base de datos de Workflow Manager (clásico).

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.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)