Настройка файла конфигурации Workflow Manager

Доступно с лицензией Workflow Manager.

Как администратор ArcGIS Workflow Manager вы можете добавлять или управлять свойствами в файле workflowManager.conf для настройки пользовательских параметров для ArcGIS Workflow Manager Server и веб-приложения. После установки Workflow Manager файл конфигурации расположен в ~/.esri/WorkflowManager/<hostname>/workflowManager.conf.

Примечание:

Если архитектура ArcGIS Enterprise содержит более одной машины ArcGIS Server с Workflow Manager Server, изменения в файле конфигурации необходимо повторить в каждом экземпляре ArcGIS Server.

Административные параметры

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

Примечание:

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

ПараметрОписаниеФормат примера

LogRetentionPeriod

Управляет частотой удаления сообщений в журнале в веб-приложении задачей очистки. По умолчанию для свойства задан интервал 7 дней.

Это свойство не изменяет частоты удаления журналов Workflow Manager Server.

LogRetentionPeriod = 7 days

allowUnsecureWebhooks

Управляет, будут ли входящие веб-хуки требовать безопасность заголовка. Начиная с 11.2, для этого свойства задано false по умолчанию.

Примечание:

Если вы используете веб-хук ArcGIS Survey123, чтобы создать задания в Workflow Manager, вы должны установить для этого свойства true.

Внимание:

Установка для этого свойства значения true позволяет любому пользователю с URL веб-хука создавать задания в веб-приложении.

allowUnsecureWebhooks = false

webRequestAllowLocal

Управляет, будет ли шаг Отправить веб-запрос разрешать запросы в локальному хосту.

webRequestAllowlocal = false

webRequestAllowedProtocols

Управляет, какой протокол будет разрешен в шаге Отправить веб-запрос.

webRequestAllowedProtocols = ["https"]

webRequestBlockedHosts

Управляет, какие хосты блокируются полученными веб-запросами в шаге Отправить веб-запрос.

webRequestBlockedHosts = ["169.254.169.254/32", "127.0.0.1/32", "1/128"]

webRequestBlockedPorts

Управляет, какие порты блокируются в шаге Отправить веб-запрос.

webRequestBlockedPorts = ["80", "81"]

Имена инструментов геообработки, которые совпадают с выражениями Arcade

Если имя инструмента геообработки совпадает с именем выражения ArcGIS Arcade, например Буфер или Вырезать, отмените комментирование allowedList и добавьте имена инструментов, которые не надо рассматривать как выражения Arcade. Или вы можете заключить название инструмента в одинарные или двойные кавычки в конфигурации шага Запустить инструмент Pro GP.

Настройте развертывание высокой отказоустойчивости

Для отказоустойчивых развертываний Workflow Manager, каждая машина должна быть настроена с учетом высокой отказоустойчивости.

Примечание:

При интеграции ваших машин ArcGIS Server, на которых установлен Workflow Manager Server с вашим порталом ArcGIS Enterprise, установите URL-адрес администрирования на URL-адрес, который можно использовать для связи со всеми серверами на сайте.

  1. Откройте ~/.esri/WorkflowManager/<hostname>/workflowManager.conf в текстовом редакторе.
  2. Раскомментируйте следующие строки в файле workflowManager.conf:
    • play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
    • play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

    Если этих строк нет в вашем файле workflowManager.conf, добавьте их в нижнюю часть файла.

  3. Сохраните изменения в файле.
  4. Перезапустите сервис ArcGIS Workflow Manager Server.
  5. Повторите шаги с 1 по 4 для каждой машины Workflow Manager Server.

    Теперь Workflow Manager Server настроен на высокую доступность.

Пример файла конфигурации

Ниже приведен пример файла конфигурации Workflow Manager, который можно использовать или на который можно ссылаться в вашей системе:

#########################################################
# Workflow Manager configuration settings
# Set any user-defined configuration options in this file
#########################################################

include "application.conf"

wmx {
  // Generally should be set to <= play.server.http.idleTimeout / 2
  // This way 2  pings are sent / timeout period to avoid disconnections if one is lost
  wsKeepAlive = 3 minutes

  arcadeExpressionTimeout = 10 seconds

  featureBatchSize = 100

  webRequestTimeout = 1 minute

  webhookTokenExpiration = 30 minutes

  webhookMaxAttachmentSize = 10m

  logRetentionPeriod = 7 days

  // Note: Using unsecured webhooks will allow anyone that can access the webhook URL to create jobs
  allowUnsecureWebhooks = false

//  webRequestAllowLocal = true
//  webRequestAllowedProtocols = ["http", "https"]
//  webRequestBlockedHosts = ["169.254.169.254/32"]
//  webRequestBlockedPorts = []
//  webRequestRestrictedHeaders = ["Content-Length", "Content-Location", "Forwarded", "From", "Host", "Referer", "Referer-Policy", "User-Agent", "Via", "X-Forwarded-For", "X-Forwarded-Host", "X-Forwarded-Proto", "Strict-Transport-Security", "X-Frame-Options", "X-XSS-Protection", "X-Content-Type-Options", "Access-Control-Allow-Origin", "Content-Security-Policy", "Origin"]
}

// Uncomment to modify the allowedList of GP Tool names that are also Arcade functions
// wmx.steps.proGP {
//   allowedList = []
// }

// The following settings can be used to modify security settings

// Uncomment this to modify the allowed cipher suites. Can use same options as ArcGIS Server
//akka.ssl-config.enabledCipherSuites = [
//  "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
//  "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
//  ]

// Uncomment this to modify the allowed TLS protocols
//akka.ssl-config.enabledProtocols = [
//  "TLSv1.2",
//  // "TLSv1.1", // Deprecated - only use if absolutely required
//  // "TLSv1" // Deprecated - only use if absolutely required
//]

// Uncomment this to enable CORS
//play.filters.enabled += "play.filters.cors.CORSFilter"
//play.filters.cors {
//  pathPrefixes = ["/workflow"]
//  allowedOrigins = ["https://www.example.com", ...]
//  allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
//  allowedHttpHeaders = ["Accept", "Accept-Language", "Content-Language", "Content-Type"]
//  preflightMaxAge = 1 day
//}

// Uncomment the following lines to configure site to support multi-machine deployments
// play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
// play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

// This can be used to change the maximum file size for attachments.
// If file sizes larger than 500MB are required, the hosted feature layer for the workflow item will also
// need to be updated in addition to this parameter. See the Workflow Manager documentation for more information.
// play.http.parser.maxDiskBuffer = 500m

// This can be used to change the max allowable POST body size
//play.http.parser.maxMemoryBuffer = 2m

Связанные разделы