Job

Сводка

Объект Job предоставляет доступ к свойствам и методам для работы с заданием Workflow Manager (Classic).

Описание

Задание представляет собой единицу работы, которая выполняется в рамках организации. Над ней могут работать один человек или несколько людей. Задание может работать с отдельным набором данных, несколькими наборами данных или вообще без данных. Задание создается на основе шаблона, известного как Тип задания, который настроен с нужными свойствами и компонентами (такими, как Рабочий процесс и Карты), которые будут использоваться в задании.

Свойства

ВладениеОбъяснениеТип данных
assignedTo
(чтение и запись)

Имя пользователя или группы, которым назначено задание.

String
assignedType
(чтение и запись)

Тип назначения для данного задания. Ниже приведен список допустимых строк, используемых при установке назначения задания. Если используется некорректная строка, задание останется по умолчанию неназначенным.

  • UserПользователь в базе данных рабочего процесса
  • GroupГруппа в базе данных рабочего процесса
  • UnassignedНет назначенного задания
String
createdBy
(чтение и запись)

Имя пользователя, создавшего задание.

String
createdDate
(только чтение)

Возвращает дату создания задания.

DateTime
currentSteps
(только чтение)

Возвращает список идентификаторов шагов, определяющих активные шаги данного рабочего процесса.

List
description
(чтение и запись)

Описание задания.

String
dueDate
(чтение и запись)

Дата запланированного завершения задания.

DateTime
endDate
(только чтение)

Возвращает дату завершения задания.

DateTime
hasAOI
(только чтение)

Возвращает True, когда у задания есть определенная область интереса.

Прежние версии:

Этот метод больше не используется. Вместо этого используйте hasLOI.

Boolean
hasLOI
(только чтение)

Возвращает True, когда у задания есть определенная область интереса (точка или полигон).

Boolean
ID
(только чтение)

Возвращаетs ID задания.

Integer
jobTypeID
(только чтение)

Получает идентификатор ID типа задания для этого задания.

Integer
name
(чтение и запись)

Имя задания.

String
notes
(чтение и запись)

Примечания, связанные с заданием, содержат информацию для пользователей.

String
owner
(чтение и запись)

Имя пользователя, которому принадлежит задание.

String
parent
(чтение и запись)

Получает идентификатор ID родительского задания для текущего задания.

Integer
parentVersion
(чтение и запись)

Имя владельца родительской версии задания.

String
percentComplete
(только чтение)

Возвращает процент выполнения задания.

Double
priority
(чтение и запись)

Приоритет задания.

Integer
startDate
(чтение и запись)

Дата запланированного начала выполнения задания.

DateTime
startedDate
(только чтение)

Возвращает дату начала выполнения задания.

DateTime
status
(чтение и запись)

Имя статуса для задания. Доступными статусами являются те, которые определены в качестве типов статусов в базе данных Workflow Manager (Classic).

String
versionExists
(только чтение)

Возвращает True, когда для задания существует версия.

Boolean
versionName
(чтение и запись)

Имя версии для задания.

String

Обзор метода

МетодОбъяснение
addAttachment (storage_type, source_location)

Добавляет вложения к заданию.

addDependency (depends_on_job_id, {held_on_type}, {held_on_value}, {dependent_on_type}, {dependent_on_value})

Добавляет зависимость от задания, чтобы ограничить прогресс выполнения задания на определенной стадии, пока этой стадии не достигло другое выполняемое задание.

addHold (hold_type_id, {comment})

Добавляет блокировку в задание, приостанавливая его действие.

deleteAttachment (attachment_id)

Удаляет вложение, связанное с заданием.

deleteJobMap ()

Удаляет карту задания, связанную с заданием.

executeStep ({step_id}, {callback})

Выполняет шаг в рабочем процессе.

getAttachments ()

Возвращает все вложения, связанные с заданием в виде списка объектов Attachment.

getExtendedPropertyTable (tableName)

Возвращает отдельную таблицу расширенного свойства на основе его полного имени таблицы.

getHolds ()

Возвращает удержания, связанные с заданием, в виде списка объектов Hold.

getPendingDays (consider_hold)

Возвращает количество оставшихся дней для задания. Может также дополнительно рассматривать удержания и вычитать их из количества оставшихся дней для задания.

getWorkflow (jobID)

Возвращает Workflow задания на основе его ID.

listExtendedProperties ()

Перечисляет полное имя всего расширенного свойства или связанных таблиц свойства, относящихся к заданию.

logActivity (activity_type, {message})

Ведёт журнал действий в истории задания, чтобы описать действие в задании.

markStepAsComplete ({step_id}, {callback})

Отмечает шаг рабочего процесса как завершенный

releaseHold (hold, {comment})

Снимает блокировку, связанную с заданием и отмечает ее как неактивную блокировку.

retrieveAttachment (attachment_id, destination_location)

Извлекает файловые вложения, связанные с заданием, в папку на диске.

retrieveJobMap (destination_location)

Извлекает карту задания в папку на диске.

save ()

Сохраняет любые изменения, сделанные в задании, обратно в базу данных Workflow Manager (Classic).

sendNotification (notification_type)

Отправляет уведомление, основываясь на событии в жизненном цикле задания.

setAOI (aoi)

Устанавливает полигон области интереса для задания.

Прежние версии:

Этот метод больше не используется. Вместо этого используйте setLOI.

setDataWorkspace (data_workspace_id)

Устанавливает рабочую область данных для задания.

setLOI (loi)

Устанавливает расположение местоположения интереса (LOI) для задания. Местоположения интереса могут быть точками (POI) или полигонами (AOI).

setStepAsCurrent (step_id)

Делает шаг рабочего процесса активным.

storeJobMap (source_location)

Сохраняет карту в базе данных Workflow Manager (Classic) и связывает ее с заданием, чтобы карта задания использовалась для редактирования.

Методы

addAttachment (storage_type, source_location)
ParameterОбъяснениеТип данных
storage_type

Тип добавляемого вложения.

  • EMBEDDEDФайл сохраняется в базе данных Workflow Manager (Classic).
  • LINKEDСсылка на путь к этому файлу сохраняется в базе данных Workflow Manager (Classic).
  • URLURL-ссылка сохраняется в базе данных.
String
source_location

Путь к файлу или URL добавляемого вложения.

String

Вложения – это один из способов добавить информацию в это задание. В задание можно добавить следующие типы вложений:

  • Встроено – Файл сохраняется в базе данных Workflow Manager (Classic).
  • Связано – В базе данных Workflow Manager (Classic) сохраняется ссылка на путь к этому файлу.
  • URL – в базе данных сохраняется URL-ссылка.

Следующий скрипт добавляет в задание встроенные, связанные и URL-вложения.

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)

#Add a linked file attachment
job.addAttachment('LINKED',r'c:\test\Requirements.doc')

#Add an embedded file attachment
job.addAttachment('EMBEDDED',r'c:\test\Field_Observation.png')

#Add url attachment
job.addAttachment('URL','http://www.esri.com')
addDependency (depends_on_job_id, {held_on_type}, {held_on_value}, {dependent_on_type}, {dependent_on_value})
ParameterОбъяснениеТип данных
depends_on_job_id

ID родительского задания, от которого будет зависеть текущее задание.

Integer
held_on_type

Определяет, будет ли текущее задание (для которого добавляется зависимость) приостановлено на шаге или статусе. Рабочий процесс задания, которое было приостановлено, не может быть выполнен, пока зависимость не будет снята. Рабочий процесс задания, которое было приостановлено, не может быть выполнен, пока зависимость не будет снята. Зависимость будет снята, когда задание окажется на шаге или будет в статусе, которое было указано в параметрах зависимости.

(Значение по умолчанию — STEP)

String
held_on_value

Значение, при котором задание должно быть приостановлено (шаг или статус). Этим значением может быть ID шага в виде целого числа или статус задания в виде текстового значения.

Variant
dependent_on_type

Определяет, будет ли текущее задание (для которого добавляется зависимость) зависеть от шага или статуса другого задания. Когда зависимое задание будет приостановлено на шаге или статусе другого задания, оно не сможет продолжить свою работу, пока другая работа не дойдет до шага или статуса, которые были указаны в параметрах зависимости. Как только задание дойдет до шага или статуса, указанных в параметрах зависимости, зависимость будет снята и зависимое задание продолжит свою работу.

(Значение по умолчанию — STATUS)

String
dependent_on_value

Значение шага или статуса другого задания, от которого зависит текущее задание. Этим значением может быть ID шага в виде целого числа или статус задания в виде текстового значения.

(Значение по умолчанию — CLOSED)

Variant

Зависимости между заданиями позволят вам моделировать отношения между ними. Таким образом, вы сможете приостановить выполнение какой-то задачи до тех, пор пока другое задание не окажется на определенной стадии. Ограничения могут быть включены для следующих частей задания: Статус или Шаг.

Когда задание, которое ограничивает рабочий процесс другого задания, достигает стадии, определенной в зависимости, ограниченное задание автоматически восстановится и сможет продолжить выполнение.

Следующий скрипт добавит стандартную зависимость, шаг задания для статуса зависимости и статус задания для зависимости шага для текущего задания.

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)

#Add a dependency to job 99999 that holds it at the current step, until the status of job 55555 is Closed
job.addDependency(55555)

#Add a dependency to job 99999 that holds it at step 5, until the status of job 88888 is Working
job.addDependency(88888,'STEP',5,'STATUS','WORKING')

#Add a dependency to job 99999 that holds it at status QAQC, until step 8 of job 77777 is active.
job.addDependency(77777,'STATUS','QAQC','STEP',8)
addHold (hold_type_id, {comment})
ParameterОбъяснениеТип данных
hold_type_id

ID шаблона типа блокировки, который будет использоваться для создания блокировки этого задания.

Integer
comment

Комментарий, который будет сохранен в качестве причины для добавления блокировки.

String

Блокировки приостанавливают действие задания на неопределенный период времени до тех пор, пока эти блокировки не будут сняты. Блокировка может применяться к заданию по следующим причинам:

  • Недостаточное финансирование
  • Технические проблемы
  • Отсутствующие данные
  • Недостаток ресурсов

Следующий скрипт извлекает разные типы блокировок из базы данных Workflow Manager (Classic) и добавляет в задание бюджетную блокировку.

import arcpy

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

#Get a list of Hold types in Workflow database
hold_types = conn.config.getHoldTypes()

#Access a Workflow Job 
job = conn.getJob(99999)

#Find the id of Budget Hold hold type and add a hold on the job
for hold in hold_types:
     if(hold.name=='Budget Hold'):
         job.addHold(hold.id,comment="Insufficient funds for digitization.")
deleteAttachment (attachment_id)
ParameterОбъяснениеТип данных
attachment_id

ID удаляемого вложения.

Integer

Вложения – это один из способов добавить информацию в задание.

Следующий скрипт удаляет вложение из задания.

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)

#Delete attachment with id = 1
job.deleteAttachment(1)
deleteJobMap ()

Карта задания содержит слои, используемые при редактировании, необходимом при осуществлении задания.

Следующий скрипт удаляет из задания карту задания.

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)

#Delete the job map of the job
job.deleteJobMap()
executeStep ({step_id}, {callback})
ParameterОбъяснениеТип данных
step_id

ID выполняемого шага. ID шага является дополнительным. Если ID не предоставлен, текущий шаг будет выполнен.

Integer
callback

Аргумент обратного вызова пропускает функцию, запрашивающую у пользователя ответ на основе входных данных из этого шага. При выполнении шага-вопроса, например, обратный вызов берет возможные опции ответа шага и позволяет пользователю выбрать следующий шаг. Также это используется, если невозможно определить следующий шаг в рабочем процессе, поэтому пользователь может выбрать путь следования.

Function
Значение отраженного сигнала
Тип данныхОбъяснение
WorkflowExecutionResult

Возвращает объект WorkflowExecutionResult, хранящий коды возврата шага.

Предоставляет способ выполнения шага в рабочем процессе.

Следующий скрипт выполняет шаг в рабочем процессе и предоставляет пример функции обратного вызова, которую можно использовать в процессе выполнения.

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 workflow
	result = job.executeStep(callback=callback)
    
	print ("Executing the first step returned %i" % result.returnCode)
	
	#Run the next Step in the workflow
        result = job.executeStep(callback=callback) 
    
	#Mark the step as complete
	job.markStepAsComplete(callback=callback) 

#Raised when a step in the workflow encounters an execution error	
except wmx.WorkflowExecutionStepError as e:
    print ("Step failed to execute:")
    print("-"*60)
    traceback.print_exc()
	
#Raised when a workflow encounters an execution error
except wmx.WorkflowExecutionError as f:
    print ("Workflow failed to execute:")
    print("-"*60)
    traceback.print_exc()
getAttachments ()
Значение отраженного сигнала
Тип данныхОбъяснение
Attachment

Вложения, связанные с заданием, возвращаются в виде списка объектов Attachment.

Вложения – это один из способов добавить информацию в задание. В задание можно добавить следующие типы вложений:

  • Встроено – Файл сохраняется в базе данных Workflow Manager (Classic).
  • Связано – В базе данных Workflow Manager (Classic) сохраняется ссылка на путь к этому файлу.
  • URL – в базе данных сохраняется URL-ссылка.

Следующий скрипт получает вложения, связанные с заданием, и печатает имена связанных вложений.

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)

#Get the list attachments associated with the job
attachments = job.getAttachments()

#Print the names of Linked file attachments associated with the job
for attach in attachments:
     if(attach.type=='Linked'):
         print(attach.name)
getExtendedPropertyTable (tableName)
ParameterОбъяснениеТип данных
tableName

Возвращаемое полное имя таблицы расширенного свойства.

String
Значение отраженного сигнала
Тип данныхОбъяснение
ExtendedProperty

Возвращает таблицу расширенного свойства в виде объекта ExtendedProperty.

Информация о специфике бизнеса, хранящаяся в части задания как расширенные свойства, возвращается в виде объекта ExtendedProperty.

Следующий скрипт получает таблицу расширенных свойств, связанных с заданием, и печатает имена ячеек вместе со значениями.

import arcpy

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

#Access a Workflow Job with extended properties
job = conn.getJob(99999)

#Get the extended properties table associated with the job
prop_table = job.getExtendedPropertyTable('wmx.extra_properties')

#Iterate over extended properties and print the cell name with values
for (name,value) in prop_table:
    print("Cell {0} = {1}" .format(name,value.data))
getHolds ()
Значение отраженного сигнала
Тип данныхОбъяснение
Hold

Удержания задания, возвращаемые в виде списка объектов Hold.

Удержания приостанавливают активность задания на неопределенный период времени до тех пор, пока эти удержания не будут сняты. Удержание может применяться к заданию по следующим причинам:

  • Недостаточное финансирование
  • Технические проблемы
  • Отсутствующие данные
  • Недостаток ресурсов
Информация об Hold никогда не удаляется из системы и может быть запрошена.

В следующем примере печатаются имена активных удержаний в задании.

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)

#Print the Active Holds on the job
jobHolds = job.getHolds()
for hold in jobHolds:
        if(hold.active==True):
            print("Active Hold = {0}" .format(hold.type))
getPendingDays (consider_hold)
ParameterОбъяснениеТип данных
consider_hold

Отметка для определения, учитывать ли удержания при вычислении количества оставшихся дней.

Boolean
Значение отраженного сигнала
Тип данныхОбъяснение
Integer

Возвращает количество оставшихся дней для задания.

Оставшиеся дни относятся к количеству дней, которые задание выполняется, либо количеству дней, оставшихся для задания, прежде чем оно будет завершено. В качестве даты начала выполнения для вычисления используется либо Дата начала (Start Date), если она была задана, либо Дата создания (Created Date), в противном случае. В качестве даты завершения вычисления используется либо текущая дата, либо Дата завершения (End Date), если задание закрыто.

Следующий скрипт возвращает количество оставшихся дней, как учитывая, так и не учитывая удержания при вычислении.

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)

#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))
getWorkflow (jobID)
ParameterОбъяснениеТип данных
jobID

ID задания.

Integer
Значение отраженного сигнала
Тип данныхОбъяснение
Object

Возвращает рабочий процесс виде объекта Workflow.

Позволяет легко получить рабочий процесс задания.

Получить рабочий процесс задания из базы данных Workflow Manager (Classic).

import arcpy

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

#Access a Job
job = conn.getJob(99999)

#Access a the job's workflow
workflow = job.getWorkflow()

#Print the name of the workflow
print(workflow.name)
listExtendedProperties ()
Значение отраженного сигнала
Тип данныхОбъяснение
String

Список полных имен всего расширенного свойства или связанных таблиц свойства, относящихся к заданию.

Имена таблиц, которые хранят информацию о специфике бизнеса с расширенными свойствами задания, а также связанными свойствами, которые можно получить.

Следующий скрипт перечисляет полное имя всего расширенного свойства или связанных таблиц свойства, относящихся к заданию.

import arcpy

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

#Access a Workflow Job with extended properties
job = conn.getJob(99999)

#List all the extended property tables and linked property tables associated with the job
job.listExtendedProperties()
logActivity (activity_type, {message})
ParameterОбъяснениеТип данных
activity_type

ID или имя ActivityType.

String
message

Пользовательское сообщение, которое добавляется к существующему сообщению ActivityType.

String

Вкладка История заданий содержит журнал для регистрации всего, что происходит в течение всего времени выполнения задания. Каждый из элементов журнала содержит отметку времени записи и имени текущего пользователя в это время. С записью сохраняется также сообщение, поясняющее, что случилось в этот момент времени.

В следующем примере ведётся журнал пользовательской активности с сообщением к существующему заданию.

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)

#Change the assignment of the job to Editors group
job.assignedType='Group'
job.assignedTo='Editors'

job.save()

#Log an activity for the reassignment of the job
job.logActivity('AssignJob','Job assigned to Editors group.')
markStepAsComplete ({step_id}, {callback})
ParameterОбъяснениеТип данных
step_id

ID выполняемого шага, который будет отмечен как завершенный. ID шага является дополнительным. Если ID не предоставлен, текущий шаг будет выполнен.

Integer
callback

Аргумент обратного вызова пропускает функцию, запрашивающую у пользователя ответ на основе входных данных из этого шага. При отметке шага-вопроса как завершенного, например, обратный вызов учитывает возможные варианты ответа шага и позволяет пользователю выбрать следующий шаг. Он также используется, когда невозможно определить следующий шаг в рабочем процессе, поэтому пользователь может выбрать путь следования.

Function

Предоставляет способ отметки шага как завершенного.

Следующий скрипт отмечает шаг в рабочем процессе как завершенный и предоставляет пример функции обратного вызова, которую можно использовать в процессе выполнения.

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 workflow
	result = job.executeStep(callback=callback)
    
	print ("Executing the first step returned %i" % result.returnCode)
	
	#Run the next Step in the workflow
        result = job.executeStep(callback=callback) 
    
	#Mark the step as complete
	job.markStepAsComplete(callback=callback) 

#Raised when a step in the workflow encounters an execution error	
except wmx.WorkflowExecutionStepError as e:
    print ("Step failed to execute:")
    print("-"*60)
    traceback.print_exc()
	
#Raised when a workflow encounters an execution error
except wmx.WorkflowExecutionError as f:
    print ("Workflow failed to execute:")
    print("-"*60)
    traceback.print_exc()
releaseHold (hold, {comment})
ParameterОбъяснениеТип данных
hold

Блокировка снимается объектом Hold.

Hold
comment

Комментарий, который будет сохранен в качестве причины снятия блокировки.

String

Блокировка приостанавливает действие задания на неопределенный период времени - до тех пор, пока она не будет снята. После снятия блокировки информация о ней никогда не удаляется из системы и ее всегда можно запросить.

Следующий скрипт снимает блокировки, связанные с заданием.

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)

#Release the active Budget Holds on the job
jobHolds = job.getHolds()
for hold in jobHolds:
        if(hold.active==True and hold.type=='Budget Hold'):
            job.releaseHold(hold,comment='Budget has been approved. The job work can resume')
retrieveAttachment (attachment_id, destination_location)
ParameterОбъяснениеТип данных
attachment_id

ID извлекаемого вложения.

Integer
destination_location

Местоположение папки, в которой будет сохранено вложение. Можно также ввести имя файла с расширением или без него. Если имя не указывается, с заданием сохраняется вложение под именем, используемым по умолчанию.

String

Вложения – это один из способов добавить информацию в задание. Из задания можно извлечь следующие типы вложений:

  • Встроено – Файл сохраняется в базе данных Workflow Manager (Classic).
  • Связано – В базе данных Workflow Manager (Classic) сохраняется ссылка на путь к этому файлу. Его можно извлечь лишь в случае, если у вас есть доступ к этому пути.

Следующий скрипт извлекает вложения задания в папку.

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)

#Get the list attachments associated with the job
attachments = job.getAttachments()

#Print the names of Linked file attachments associated with the job
for attach in attachments:
     if(attach.type=='Linked'):
         print(attach.name)
retrieveJobMap (destination_location)
ParameterОбъяснениеТип данных
destination_location

Местоположение папки, в которой будет сохранено карта задания. Можно также ввести имя сохраняемой карты. Если имя карты задания не указывается, карта задания сохраняется со схемой наименования, используемой по умолчанию.

String

Карта задания содержит слои, используемые при редактировании, необходимом при осуществлении задания.

Следующий скрипт извлекает задачу в папку на диске.

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)

#Retrieve the job map and save to C:\Test 
job.retrieveJobMap(destination_location=r'C:\Test')
save ()

Следующий скрипт сохраняет обновленное назначение задания.

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)

# Update and save the job assignment
job.assignedTo = 'user0000'
job.save()
sendNotification (notification_type)
ParameterОбъяснениеТип данных
notification_type

Имя шаблона типа уведомления, используемого для отправки уведомления по электронной почте, связанного с заданием.

String

Уведомления по e-mail могут быть вызваны в течение жизненного цикла задания для передачи информации, связанной с заданием. К примерам уведомлений по e-mail относятся:

  • Задание назначено или переназначено
  • Задание создано
  • Задание закрыто

В следующем примере переназначается задача и посылается e-mail уведомление о ней.

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)

#Reassign the job to a user
job.assignedTo='amiller'

#Send an email notification for the job assignment
job.sendNotification(notification_type='JobAssigned')
setAOI (aoi)
ParameterОбъяснениеТип данных
aoi

Полигон области интереса, который будет присвоен заданию.

Geometry

Определяет область интереса для задания. Чтобы получить полигон области интереса для задания, используйте инструмент Получить AOI задания.

Следующий скрипт определяет геометрию полигона и устанавливает ее в качестве области интереса для задания.

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)

# 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)
ParameterОбъяснениеТип данных
data_workspace_id

GUID той рабочей области данных задания, которую необходимо сделать активной.

String

Установить рабочую область данных для задания. Чтобы получить рабочую область данных для задания, используйте инструмент Получить рабочую область данных задания.

Следующий скрипт устанавливает рабочую область данных для задания.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.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}")
setLOI (loi)
ParameterОбъяснениеТип данных
loi

Точка или полигон, которые назначаются в качестве местоположения интереса для задания.

Geometry

Определяет местоположения интереса для задания. Чтобы получить местоположение интереса для задания, используйте инструмент Получить AOI задания.

Следующий скрипт включает пример кода для определения одной точки или мультиточечной геометрии и установки местоположения интереса задания.

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)

# 1. Set the job's location of interest to single point geometry

# Create single point geometry

point = arcpy.Point(-119.5,35.9)
loi_1 = arcpy.PointGeometry(point)

job.setLOI(loi_1)
job.save()


#2. Set the job's location of interest to multipoint geometry

job = conn.getJob(10000)

# Create multipoint 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])
loi_2 = arcpy.Multipoint(array)

job.setLOI(loi_2)
job.save()
setStepAsCurrent (step_id)
ParameterОбъяснениеТип данных
step_id

ID шага, который делается активным.

Integer

Обеспечивает возможность задания шага рабочего процесса как активного.

Следующий скрипт делает шаг рабочего процесса текущим.

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)

#Set a step as current in the Job
job.setStepAsCurrent(2315)
storeJobMap (source_location)
ParameterОбъяснениеТип данных
source_location

Путь к файлу с картой, сохраняемой в базе данных Workflow Manager (Classic).

String

Карта задания содержит слои, используемые при редактировании, необходимом при выполнения задания.

Следующий скрипт сохраняет карту задания в базе данных Workflow Manager (Classic).

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)

#Store the job map in Workflow database 
job.storeJobMap(source_location=r'C:\Test\JobMap_17.mapx')

Пример кода

Следующий скрипт обновляет назначение заданий и проверяет, что версия пространственных данных существует, используя свойства задания.

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.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.versionExists == True:
    jobversion = job.versionName
    print("The job's data workspace is " + jobversion)