ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

WorkflowConnection

  • Сводка
  • Описание
  • Свойства
  • Обзор метода
  • Методы
  • Пример кода

Сводка

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

Описание

Задания создаются по шаблону типа задания. Все свойства для нового задания автоматически наследуются из типа задания и могут быть обновлены после создания с помощью методов Job.

Свойства

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

Возвращает путь к файлу подключения рабочего процесса (.jtc) в проекте ArcGIS Pro.

Если существует подключение ArcGIS Pro, то будет возвращен полный путь к файлу подключения рабочего процесса. Если подключение к базе данных было создано с помощью Connect, то свойство jtcPath может использоваться для получения введенного вручную пути подключения к рабочему процессу, чтобы выполнить подключение.

String

Обзор метода

МетодОбъяснение
createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback})

Создает новое задание на основе типа.

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

Создает файл определения сервиса (.sd), имеющий тип сервиса Workflow Manager (Classic), который может быть опубликован на указанном ГИС-сервере.

getJob (jobID)

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

getQualifiedTableName (table_name)

Возвращает полностью проверенное имя для таблицы из базы данных Workflow Manager (Classic).

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

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

Методы

createJob ({job_type_id}, {job_type_name}, {job_type_description}, {callback})
ПараметрОбъяснениеТип данных
job_type_id

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

Integer
job_type_name

Имя того типа задания, который был использован для создания нового задания.

String
job_type_description

Свойства типа задания, которые можно настроить и назначить новому создаваемому заданию, и которые указываются как объект JobTypeDescription.

JobTypeDescription
callback

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

Function

Значение отраженного сигнала

Тип данныхОбъяснение
Job

Возвращает задание, созданное, как Job. Список объектов Job возвращается, когда создается несколько заданий при указании списка объектов Geometry в JobTypeDescription и LOI не будут объединяться.

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

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

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)

Следующий скрипт создает задание в базе данных Workflow Manager (Classic), используя предварительно подготовленное описание типа задания. Предварительно подготовленное описание задания обеспечивает LOI, назначает задание пользователю, назначает рабочую область данных заданию, назначает родителя с помощью ID, назначает версию родительского задания, добавляет заданию префикс и назначает версию для задания.

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})
ПараметрОбъяснениеТип данных
output_directory

Путь к папке для выходного файла (.sd).

String
service_name

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

String
connection_file_path

Путь к файлу и имя файла подключения ArcGIS Server (.ags).

String
folder_name

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

String
description

Краткое описание.

String
mininstances

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

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

Integer
maxinstances

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

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

Integer
maxusagetime

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

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

Integer
maxwaittime

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

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

Integer
maxidletime

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

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
String

Выходной путь для итогового файла .sd.

createSD – это первый шаг для автоматизации публикации сервиса с типом Workflow Manager (Classic) на ГИС-сервере с помощью ArcPy. Выходными данными, создаваемыми функцией createSD, является файл определения сервиса (.sd), который представляет собой тип сервиса Workflow Manager (Classic) и является комбинацией информации о сервере и набора свойств сервиса.

Определение сервиса можно создать без информации о подключении к серверу. В этом случае параметр connection_file_path можно опустить.

После того, как файл определения сервиса создан, его можно загрузить и опубликовать как сервис Workflow Manager (Classic) на заданном ГИС-сервере с помощью инструмента Загрузить определение сервиса. На этом шаге файл определения сервиса копируется на сервер, извлекается необходимая информация и публикуется ГИС-ресурс. Дополнительные сведения см. в обзоре группы инструментов Публикация

Создайте файл определения сервиса Workflow Manager (Classic) на ГИС-сервере.

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)
ПараметрОбъяснениеТип данных
jobID

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

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
Job

Возвращает задание в виде Job.

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

Получает задание из базы данных Workflow Manager (Classic).

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)
ПараметрОбъяснениеТип данных
table_name

Имя таблицы для проверки.

String

Значение отраженного сигнала

Тип данныхОбъяснение
String

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

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

Missing source code file
queryJobs (fields, tables, {aliases}, {where}, {order_by})
ПараметрОбъяснениеТип данных
fields

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

String
tables

Таблицы в базе данных Workflow Manager (Classic), использующиеся для запроса заданий.

String
aliases

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

String
where

Выражение where для запроса заданий.

String
order_by

Поля, использующиеся для упорядочивания результатов запроса.

String

Значение отраженного сигнала

Тип данныхОбъяснение
Object

Метод QueryJobs возвращает объект QueryResult и открывает доступ к списку заданий и свойствам заданий, возвращаемым запросом.

Объект QueryResult - это список QueryRow, относящихся к определенному заданию и QueryField, относящихся к определенному свойству задания,, полученных методом QueryJobs.

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

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)))

Пример кода

Следующий скрипт создает одно задание и получает второе задание из базы данных 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

  • На главную
  • Документация
  • Поддержка

ArcGIS

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

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация