Skip To Content

Автоматизация рабочих процессов с помощью ArcGIS Notebooks

ArcGIS Notebook Server позволяет реализовать несколько методов автоматизации рабочего процесса, включая автоматизацию с помощью запланированных блокнотов, вебхуков и пользовательских скриптов с использованием административного API Execute Notebook.

Примечание:

Чтобы автоматизировать блокнот с помощью запланированных задач, вебхуков или API-интерфейса выполнения блокнота, блокнот должен использовать рабочую среду версии 3.0 или более поздней.

Планирование задач блокнота

Начиная с версии 10.8.1, авторы блокнота могут запланировать ArcGIS Notebooks на автоматическое выполнение в определенное время в будущем, однократно либо с определенной периодичностью. Создание задач для планирования блокнотов позволяет автоматизировать рутинные рабочие процессы, запускать процессы с интенсивным использованием данных во вне пиковые часы использования и регулярно обновлять наборы данных. Например, вы можете запланировать блокнот, чтобы выполнить следующее:

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

Вы можете создать одну или несколько задач для блокнота. По умолчанию автор или администратор блокнота может создать не более 20 задач. Если владелец блокнота изменится, любые задачи, связанные с этим блокнотом, будут деактивированы и назначены новому владельцу.

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

Примечание:

Количество одновременных выполнений задач блокнота ограничено системным свойством maxExecuteNotebookContainersPerNode в Notebook Server.

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

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

Используя страницу Задачи в Менеджере ArcGIS Notebook Server администраторы могут просматривать подробную информацию, редактировать, приостанавливать и возобновлять работу или удалять активную задачу блокнота на сайте. Администраторы и авторы блокнота с полномочиями расписания блокнота могут просматривать сведения, редактировать, приостанавливать и возобновлять или удалять задачу блокнота на странице сведений блокнота или на панели задач редактора блокнота.

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

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

Дополнительные сведения о запланированных задачах блокнота см. в разделе справки Планирование задачи блокнота.

С помощью окна Управление задачами на главной странице ArcGIS Notebook Server или со страницы Задачи в ArcGIS Notebook Server Manager администраторы могут просматривать детали, редактировать, приостанавливать, возобновлять и удалять активные задачи блокнота на сайте. Администраторы и авторы с полномочиями расписания блокнота могут просматривать сведения, редактировать, приостанавливать и возобновлять или удалять задачи блокнота на странице сведений блокнота или на панели задач редактора блокнота.

Ограничения запланированных задач

Существуют определенные ограничения на уровне пользователя, организации и сайта ArcGIS Notebook Server (компьютера), связанные с запланированными задачами блокнота.

Максимальное количество одновременных автоматических запусков блокнотов (maxExecuteNotebookContainersPerNode)

Когда блокнот работает по заданному для задачи расписанию, с помощью вебхука или API-интерфейса выполнения, ArcGIS Notebook Server автоматически открывает новый контейнер и запускает блокнот без участия пользователя. По умолчанию ArcGIS Notebook Server настроен на запуск не более 10 одновременных запусков блокнота на каждом компьютере Notebook Server. Учитывая ресурсы (CPU и RAM), доступные на каждом компьютере сайта Notebook Server, администратор может изменить это значение, изменив системное свойство maxExecuteNotebookContainersPerNode в Notebook Server. Любой запрос к автоматизированному блокноту, поданный после того, как ограничение превышено, будет добавлен в очередь и запущен, как только количество запусков автоматических задач упадет ниже этого ограничения. Поставленные в очередь задачи не будут выполняться, если время ожидания превысит время таймаута.

Примечание:

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

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

Примечание:

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

  1. Войдите на портал ArcGIS Enterprise как администратор.
  2. Откройте ArcGIS Notebook Server Manager.
  3. Щелкните Настройки > Сайт.
  4. Измените значение свойства maxExecuteNotebookContainersPerNode.
  5. Щелкните Сохранить.
  6. Ознакомьтесь с предупреждением о перезапуске Notebook Server и нажмите Сохранить и перезапустить, чтобы сохранить изменения.

Максимальное количество активных запланированных задач блокнота на одного пользователя

Авторы блокнотов, обладающие правами составления расписаний для блокнотов, могут создавать не более, чем по 20 активных задач блокнотов. По достижении этого значения пользователь не сможет создавать новые задачи по расписанию. Новую задачу можно создать после того, как существующая задача перейдет из состояния Активна в состояние Завершена, Не удалось (Не выполнено) или Неактивна. Это предельное значение можно изменить, изменив свойство ExecuteNotebooksUserLimit с помощью операции Обновить ограничения системы в ArcGIS Portal Administrator API.

Максимальное количество активных запланированных задач блокнота для одной организации

Максимальное количество активных запланированных задач блокнота для одной организации не может превышать числа 200. Это ограничение определяет общее количество активных задач, принадлежащих всем пользователям в организации портала. По достижении этого значения пользователи не смогут создавать новые задачи блокнота по расписанию. Это предельное значение можно изменить, изменив свойство ExecuteNotebooksOrgLimit с помощью операции Обновить ограничения системы в ArcGIS Portal Administrator API.

Количество результатов, которое фиксируется для запланированной задачи

Результаты выполнения задач фиксируются и сохраняются для 30 задач. Любые задачи, которые были созданы до последних 30 задач, удаляются безвозвратно. Это предельное значение можно изменить, изменив свойство TaskRunHistoryCount с помощью операции Обновить ограничения системы в ArcGIS Portal Administrator API.

Автоматический отказ выполнения задачи

Задачи, завершившиеся неудачей 5 раз подряд, будут автоматически переведены в состояние отказа и больше не будут выполняться. Чтобы обеспечить дальнейшее выполнение задач, владелец задачи должен выявить и устранить сбой и перевести эту задачу в состояние Активная. Это предельное значение можно изменить, изменив свойство FailedRunsDisableTask с помощью операции Обновить ограничения системы в ArcGIS Portal Administrator API.

Автоматическое выполнение блокнота с помощью вебхуков

Вебхук – это механизм, позволяющий приложению предоставлять другим приложениям информацию, управляемую событиями. Как администратор ArcGIS Enterprise Portal или пользователь с правами на Вебхуки организации вы можете создавать вебхуки, управлять ими и настраивать их. Вы можете настроить вебхуки на автоматическое выполнение блокнота, которым вы владеете, когда происходят события, связанные с вашими элементами портала, группами или пользователями. Ваш ArcGIS Notebook Server действует как получатель полезных данных вебхука. После запуска вебхука к Notebook Server отправляется HTTP-запрос для запуска выбранного блокнота без какого-либо взаимодействия с пользователем.

Примечание:

Количество одновременных выполнений задач блокнота через вебхуки ограничено системным свойством maxExecuteNotebookContainersPerNode в Notebook Server.

Создание вебхука

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

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Перейдите к Организация > Настройки > Вебхуки.
  3. Щелкните Создать вебхук
  4. Укажите имя вебхука.

    Name=mynotebook_webhook

  5. Выберите тип события, которое будет запускать вебхук.

    По умолчанию учитываются все типы событий ( Элементы, Пользователи, Группы и Роли).

  6. Используйте Триггер, чтобы принять значение по умолчанию (/), либо укажите одно или несколько значений в качестве событий триггера.

    События=/items, /items/<itemId>,/users

    Подробнее см. Поддерживающие инициирующие события.

    Дополнительные примеры см. в Событиях-триггерах.

  7. Выберите Блокнот как тип полезных данных.

    Примечание:
    Если опция Блокнот недоступна, значит, Notebook Server с вашим порталом не настроен. Если Блокнот доступен, но его невозможно выбрать, значит, у вас нет блокнотов, для которых доступна настройка вебхуков. У вас должен быть элемент блокнота, который будет использоваться для вебхука.

  8. Выберите блокнот, который будет запускаться при инициализации вебхука.
  9. Дополнительно введите Секретный ключ, который будет включен в полезную нагрузку вебхука.

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

  10. Щелкните Создать вебхук, чтобы сохранить настройки вебхука и создать его.

Управление вебхуками

Вебхуки можно администрировать через страницу Параметры организации. Для управления существующими вебхуками выполните следующие шаги:

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Перейдите в меню Организация > Настройки > Вебхуки, чтобы посмотреть список вебхуков, которые были созданы вами или администраторами вебхуков.

Вы можете управлять существующими вебхуками с помощью следующих операций.

  • Деактивировать вебхук - когда у вебхука активный статус, щелкните Активный. Вам будет предложено подтвердить изменение статуса. Нажмите Подтвердить, чтобы деактивировать вебхук. Деактивация вашего вебхука останавливает получение полезных данных при инициализации вебхука.
  • Активировать вебхук - когда у вебхука неактивный статус, щелкните Неактивный. Вам будет предложено подтвердить изменение статуса. Нажмите Подтвердить, чтобы активировать вебхук. Как только вебхук будет активирован, он возобновит доставку полезной нагрузки.
  • Редактировать вебхук - нажмите кнопку опций на вебхуке и нажмите Изменить, чтобы обновить триггерные события вашего вебхука или блокнот, указанный для вебхука.
  • Удалить вебхук - щелкните кнопку опций на вебхуке и затем Удалить. Нажмите Подтвердить, чтобы удалить вебхук.

Дополнительные настройки вебхука

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

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Перейдите к Организация > Настройки > Вебхуки > Расширенные настройки вебхуков для изменения значений по умолчанию в расширенных свойствах вебхуков.

Полезные данные вебхука

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

Включенная в блокнот информация о полезных данных вебхука:

{
  "properties": {
    "itemId": "<itemId of the current notebook>"
  },
  "events": [
    {
      "source": "items",
      "id": "<itemId of the item that resulted in webhook trigger>",
      "userId": "<webhook user>",
      "when": \<epoch time in ms when webhook was triggered\>,
      "operation": "<type of operation that resulted in webhook trigger>",
      "properties": {},
      "username": "<webhook username>"
    }
  ],
  "info": {
    "webhookId": "<webhookId>",
    "portalURL": "<public portal url>",
    "webhookName": "<webhook name>",
    "when": \<epoch time in ms when webhook was triggered\>,
  }
}

Выполнение API блокнота

Администраторы и авторы блокнотов также могут автоматизировать запуск блокнота без взаимодействия с пользователем с помощью операции Выполнить блокнот в ArcGIS Notebook Server Administrator Directory. Эта операция автоматически запускает блокнот при вызове, но с помощью пользовательского скрипта вы можете запланировать автоматическое выполнение в установленное время или по регулярному расписанию. Задание cron или планировщик Windows также можно использовать для планирования выполнения операции Выполнить блокнот в заданное время или через повторяющийся интервал.

Дополнительные сведения см. в разделе Выполнить блокнот в справке Administrator Directory.