Resumen
El objeto Job proporciona acceso a propiedades y métodos para interactuar con un trabajo de Workflow Manager.
Debate
Un trabajo es una unidad individual de trabajo que se lleva a cabo dentro de una organización. Puede tener a una o más personas trabajando en la unidad. Puede trabajar con un dataset individual, varios datasets o ningún dato en absoluto. Un trabajo se crea en base a una plantilla conocida como Tipo de trabajo, que se configura con las propiedades y componentes deseados (como, por ejemplo, flujo de trabajo y mapas) que se utilizará en el trabajo.
Propiedades
Propiedad | Explicación | Tipo de datos |
assignedTo (Lectura y escritura) | El nombre de usuario o grupo al que está asignado el trabajo. | String |
assignedType (Lectura y escritura) | El tipo de asignación del trabajo. A continuación hay una lista de cadenas válidas que utilizar al configurar la asignación de trabajo. Si se utiliza una cadena no válida, el trabajo se establecerá de forma predeterminada como no asignado.
| String |
createdBy (Lectura y escritura) | El nombre de usuario del usuario que creó el trabajo. | String |
createdDate (Sólo lectura) | Devuelve la fecha en que se creó el trabajo. | DateTime |
currentSteps (Sólo lectura) | Devuelve una lista de Id. de pasos que representa lo pasos activos en el flujo de trabajo. | List |
description (Lectura y escritura) | La descripción del trabajo. | String |
dueDate (Lectura y escritura) | La fecha en que el trabajo estaba programado para finalizar. | DateTime |
endDate (Sólo lectura) | Devuelve la fecha en que finalizó el trabajo. | DateTime |
hasAOI (Sólo lectura) | Devuelve True cuando el trabajo tiene un área de interés definida. | Boolean |
id (Sólo lectura) | Devuelve el Id. del trabajo. | Integer |
jobTypeID (Sólo lectura) | Obtiene el Id. de tipo de trabajo. | Integer |
name (Lectura y escritura) | El nombre del trabajo. | String |
owner (Lectura y escritura) | El nombre de usuario del usuario que es propietario del trabajo. | String |
parent (Lectura y escritura) | El Id. del trabajo principal del trabajo actual. | Integer |
parentVersion (Lectura y escritura) | El nombre de la versión principal del trabajo. | String |
percentComplete (Sólo lectura) | Devuelve el porcentaje completo del trabajo. | Double |
priority (Lectura y escritura) | La prioridad del trabajo. | Integer |
startDate (Lectura y escritura) | La fecha en que estaba programado el inicio del trabajo. | DateTime |
startedDate (Sólo lectura) | Devuelve la fecha en que se inició el trabajo. | DateTime |
status (Lectura y escritura) | El nombre de estado del trabajo. Los estados disponibles para utilizar son los definidos como tipos de estado en la base de datos de Workflow Manager. | String |
versionExists (Sólo lectura) | Devuelve True cuando existe una versión para un trabajo. | Boolean |
versionName (Lectura y escritura) | El nombre de la versión del trabajo. | String |
Descripción general de los métodos
Método | Explicación |
getPendingDays (consider_hold) | Devuelve el número de días que el trabajo ha estado pendiente. Como opción, también puede considerar las retenciones y restarlas del número de días que el trabajo ha estado pendiente. |
save () | Guarda los cambios realizados en el trabajo en la base de datos de Workflow Manager. |
setAOI (aoi) | Define el polígono de área de interés (AOI) del trabajo. |
setDataWorkspace (data_workspace_id) | Define el espacio de trabajo de los datos del trabajo. |
Métodos
getPendingDays (consider_hold)
Parámetro | Explicación | Tipo de datos |
consider_hold | Marcar para determinar si se deben considerar las retenciones al calcular el número de días pendientes. | Boolean |
Valor de retorno
Tipo de datos | Explicación |
Integer | Devuelve el número de días que el trabajo ha estado pendiente. |
Los días pendientes hace referencia al número de días que se lleva trabajando en el trabajo o el número de días que el trabajo ha estado pendiente antes de completarlo. La fecha de inicio utilizada para el cálculo es la Fecha de inicio si se definió o la Fecha de creación en caso contrario. La fecha de finalización del cálculo es la fecha actual o la fecha de finalización si el trabajo está cerrado.
La secuencia de comandos siguiente devuelve el número de días pendientes, tanto considerando como no considerando las retenciones en el cálculo.
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)
#Get pending days for job while considering days on hold
pendingwithholds = job.getPendingDays(True)
print "The number of days pending for job when considering days on hold: " + str(pendingwithholds)
#Get pending days for job while ignoring days on hold
pendingwithoutholds = job.getPendingDays(False)
print "The number of days pending for job when ignoring days on hold: " + str(pendingwithholds)
save ()
La siguiente secuencia de comandos guarda una asignación de trabajo actualizada.
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)
# Update and save the job assignment
job.assignedTo = 'user0000'
job.save()
setAOI (aoi)
Parámetro | Explicación | Tipo de datos |
aoi | El polígono AOI que asignar al trabajo | Geometry |
Define el área de interés de un trabajo. Para obtener el polígono de área de interés de un trabajo, utilice la herramienta Obtener AOI del trabajo.
La siguiente secuencia de comandos define una geometría de polígono y la define como el área de interés del trabajo.
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)
# Create polygon geometry
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])
aoi = arcpy.Polygon(array)
#Set the job's Area of interest to the polygon geometry
job.setAOI(aoi)
job.save()
setDataWorkspace (data_workspace_id)
Parámetro | Explicación | Tipo de datos |
data_workspace_id | El GUID del espacio de trabajo de los datos a activar al abrir para el trabajo. | String |
Defina el espacio de trabajo de los datos de un trabajo. Para obtener el espacio de trabajo de los datos de un trabajo, utilice la herramienta Obtener el espacio de trabajo de los datos de trabajo.
La siguiente secuencia de comandos define el espacio de trabajo de los datos de un trabajo.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = connect.getjob(99999)
#Set the job's data workspace to a workspace GUID
job.setDataWorkspace("{7887F5C8-CACD-4ADD-88E9-8B37E25C7FF6}")
Ejemplo de código
La secuencia de comandos siguiente actualiza la asignación de un trabajo y comprueba que exista una versión de datos espaciales utilizando las propiedades del trabajo.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\sample\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
# Update the job assignment
job.assignedTo = 'user0000'
job.assignedType = 'user'
job.save()
# Reload the job
job = job.conn.getJob(99999)
#Check a version exists for the job and get the version name
if job.version == True:
jobversion = job.versionName
print "The job's data workspace is " + jobversion