ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

WorkflowConnection

  • Resumen
  • Debate
  • Propiedades
  • Descripción general del método
  • Métodos
  • Muestra de código

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 (Classic) 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 (Classic): 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 (Classic) 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
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)
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 (Classic) 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 (Classic), 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 (Classic) 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.

Cree un archivo de definición de servicio de Workflow Manager (Classic) en un servidor SIG.

import arcpy
import arcpywmx

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

# 1. Create the service definition file without connecting to ArcGIS Server
conn.createSD(r'c:\test\SD','Workflow')

# 2. Create the service definition with connection to the ArcGIS Server
# Create ArcGIS Server connection file
arcpy.mapping.CreateGISServerConnectionFile("PUBLISH_GIS_SERVICES", r'c:\test',
                                            'agsservername.ags',
                                            'https://agsservername.domain.com:6443/arcgis',
                                            "ARCGIS_SERVER", username='user',
                                            password='password')

conn.createSD(r'c:\test\SD', 'Workflow', r'c:\test\agsservername.ags',
              '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',
                                     r'GIS Servers\server on servername.domain.com (publisher)')
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
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)
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).

Missing source code file
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
import arcpywmx

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

# Run a query for jobs being assigned to current user. The query results are
# sorted by job name.
result = conn.queryJobs("JOB_NAME,ASSIGNED_TO", "JTX_JOBS",
                        "Job Name,Assigned To",
                        "ASSIGNED_TO = '[SYS:CUR_LOGIN]'", "JOB_NAME")

# To get total number of jobs being returned which are assigned to current user.
print("There are %s jobs assigned to me" % str(len(result.rows)))

Muestra de código

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

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)

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal