计划任务的时间是多少?

时间:2020-04-03 20:46:44

标签: marklogic

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

希望有用

答案 1 :(得分:2)

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

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更改其时间限制。时间限制是为查询请求提供服务的默认秒数。
相关问题