预定任务的时间限制是什么?

问题描述 投票:1回答:2

我正在研究最终将是一项计划任务,并且可能是一项运行时间较长的任务。我通过在查询控制台中调用xdmp.spawn()对其进行测试,并且不得不增加默认的timeLimit参数。据我了解,xdmp.spawn()将使用为应用程序服务器设置的默认时间限制,您可以为应用程序服务器的最大时间限制参数指定一个不同的timeLimit

但是预定任务的时间限制是多少?我什至不知道它们在什么服务器上运行。似乎没有任何方法可以指定不同的时间限制,因此它将使用默认时间限制还是最大时间限制?

marklogic
2个回答
0
投票

[公认的最佳实践是在服务器外部运行长任务,并向服务器发出请求以迭代该任务的工作(如果可以以某种方式对工作进行分区,则可能是并发请求)。

任务服务器旨在对服务器中的事件做出反应,而不是运行较长的进程。

如果任务取决于服务器状态,则外部进程可以轮询服务器以查看是否需要完成工作。

或者,在任务服务器上执行的任务可以使用xdmp.http *()内置插件通知外部进程它需要运行。

希望有用,


0
投票

如果未为任务主机指定主机,则在分配的主机或所有主机上执行计划的任务。

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

  1. 在“任务用户和任务主机”字段中,指定有权调用任务的用户以及要在其上调用任务的主机。如果未指定主机,则任务将在所有主机上运行。

默认任务服务器时间限制与任何其他应用程序服务器相似:

  • 默认时间限制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)高于此数字。时间限制是服务查询请求所允许的最大秒数。 App Server放弃了耗时较长的查询,并返回错误。
  • 默认时间限制指定任何请求的时间限制的默认值,否则未指定。请求可以使用xdmp:set-request-time-limit更改其时间限制。时间限制是为查询请求提供服务的默认秒数。
© www.soinside.com 2019 - 2024. All rights reserved.