Marklogic 计划任务的时间限制是多少?

Marklogic 计划任务的时间限制是多少?,marklogic,Marklogic,我正在做的工作最终将是一个预定的任务,可能是一个相当长的运行时间。我通过在查询控制台中调用xdmp.spawn()来测试它,并且必须增加默认的timeLimit参数。据我所知,xdmp.spawn()将使用为应用程序服务器设置的默认时间限制,您可以指定不同的timeLimit直到应用程序服务器的最大时间限制参数 但计划任务的时间限制是多少?我甚至不清楚它们运行在哪个应用服务器上。似乎没有任何方法可以指定不同的时间限制,因此将使用默认时间限制还是最大时间限制?普遍接受的最佳做法是在服务器之外运行长

我正在做的工作最终将是一个预定的任务,可能是一个相当长的运行时间。我通过在查询控制台中调用
xdmp.spawn()
来测试它,并且必须增加默认的
timeLimit
参数。据我所知,
xdmp.spawn()
将使用为应用程序服务器设置的默认时间限制,您可以指定不同的
timeLimit
直到应用程序服务器的最大时间限制参数


但计划任务的时间限制是多少?我甚至不清楚它们运行在哪个应用服务器上。似乎没有任何方法可以指定不同的时间限制,因此将使用默认时间限制还是最大时间限制?

普遍接受的最佳做法是在服务器之外运行长任务,并向服务器发出请求,以迭代任务的工作(如果可以以某种方式对工作进行分区,则可能是并发请求)

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

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

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


希望这是有用的,

计划的任务可以在指定的主机上执行,如果没有为任务主机指定主机,则可以在所有主机上执行

  • 在“任务用户”和“任务主机”字段中,指定有权调用任务的用户以及要调用任务的主机。如果未指定主机,则任务将在所有主机上运行
  • 默认任务服务器时间限制类似于任何其他应用程序服务器:

    • 默认时间限制为
      600
    • 最大时间限制为
      3600
    您可以在管理UI中验证(和调整)这一点,方法是:
    Configure->Groups->Default(或服务器所在的组)->任务服务器

    • 最大时间限制指定任何请求的时间限制上限。任何请求都不能将其时间限制(例如)设置为高于此数字。时间限制是为查询请求提供服务所允许的最大秒数。应用服务器放弃耗时较长的查询,并返回错误
    • 默认时间限制指定任何请求的时间限制的默认值(如果未指定)。请求可以使用更改其时间限制。时间限制是为查询请求提供服务所允许的默认秒数

    谢谢。这让我重新思考了我的方法,我想我会在MarkLogic之外安排流程,只在较小的任务中使用MarkLogic。