Какой срок для запланированного задания? - PullRequest
2 голосов
/ 03 апреля 2020

Я работаю над тем, что в конечном итоге будет запланированной задачей и может быть довольно долгой. Я тестирую его, вызывая xdmp.spawn() в консоли запросов, и мне пришлось увеличить параметр timeLimit по умолчанию. Насколько я понимаю, xdmp.spawn() будет использовать ограничение по умолчанию, установленное для сервера приложений, и вы можете указать другое значение timeLimit, вплоть до параметра максимального времени сервера приложений.

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

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

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

https://docs.marklogic.com/guide/admin/scheduling_tasks#chapter

В полях «Пользователь задачи» и «Хост задачи» укажите пользователя с правами на вызов задачи и хост-компьютер, на котором должна быть вызвана задача. Если хост не указан, то задача выполняется на всех хостах.

Ограничения по времени сервера задач по умолчанию аналогичны ограничениям для любого другого сервера приложений:

  • ограничение по умолчанию - 600 секунд
  • Максимальное время - 3600 секунд

Вы можете проверить (и настроить ) это в интерфейсе администратора: Configure -> Groups -> Default (or whichever group your server is in) -> Task Server

https://docs.marklogic.com/admin-help/task-server

  • ограничение максимального времени указывает верхняя граница для лимита времени любого запроса. Ни один запрос не может установить ограничение по времени (например, с xdmp:set-request-time-limit) выше этого числа. Ограничение по времени, в свою очередь, представляет собой максимальное количество секунд, разрешенное для обслуживания запроса. Сервер приложений отказывается от запросов, которые занимают больше времени, и возвращает ошибку.
  • ограничение по времени по умолчанию указывает значение по умолчанию для ограничения времени любого запроса, если не указано иное. Запрос может изменить свой срок, используя xdmp:set-request-time-limit. Ограничение по времени - это количество секунд по умолчанию, разрешенное для обслуживания запроса.
2 голосов
/ 04 апреля 2020

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

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

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

Или задача, выполняемая на сервере задач, может использовать встроенные функции xdmp.http * (), чтобы уведомить внешний процесс о том, что он должен быть запущен.

Надеюсь, это полезно,

...