Marklogic 任务调度路径

Marklogic 任务调度路径,marklogic,Marklogic,为了清理数据库,我尝试安排一项任务。但我最终走上了一条意大利面条的小路 我有一个模块数据库,带有/src/scheduled/cleanData.sjs 此脚本包含require(“cleandalib.xqy”) 计划的任务指向: 任务路径:/cleanData.sjs 任务根目录:/scheduled 数据库:项目内容 模块:项目模块 现在,SJS脚本找不到require中所述的cleandalib.xqy 我不知道SJS scipt从现在起将在哪里运行。任务路径?模块数据库?SJS脚本

为了清理数据库,我尝试安排一项任务。但我最终走上了一条意大利面条的小路

我有一个模块数据库,带有
/src/scheduled/cleanData.sjs

此脚本包含
require(“cleandalib.xqy”)
计划的任务指向:

  • 任务路径:
    /cleanData.sjs
  • 任务根目录:
    /scheduled
  • 数据库:
    项目内容
  • 模块:
    项目模块
现在,SJS脚本找不到
require
中所述的
cleandalib.xqy

我不知道SJS scipt从现在起将在哪里运行。任务路径?模块数据库?SJS脚本的位置

从查询控制台运行SJS工作正常,然后使用XQY,不会出现错误

日志中的错误:

TaskServer: XDMP-MODNOTFOUND: var cleaner = require("cleanDataLib.xqy"); -- Module cleanDataLib.xqy not found

请更改设置,然后重试。任务路径=“/scheduled/cleanData.sjs”,任务根=“/”。我假设cleanData.sjs和cleanDataLib.xqy位于同一位置“/src/scheduled”

请更改您的设置,然后重试。任务路径:/scheduled/cleanData.sjs,TaskRoot:“/”。我假设cleanData.sjs和cleanDataLib.xqy位于同一个位置“/src/scheduled”,使其更加模糊,现在它抱怨缺少索引,因此它似乎忽略了设置的
任务数据库部分。如果您的模块使用任何索引,则必须将其添加到“项目内容”数据库中。正如您所提到的,您可以从查询控制台运行SJS文件,请检查您选择的数据库。它应该与您的时间表匹配是的,它是内容数据库的一部分,这很奇怪!看来你的日程安排是正确的。要检查并执行一件事,请更改您的xqy文件,并将一些通用编码放在不需要索引的位置,然后检查它是否正常工作。如果工作正常,请更改xqy文件的原始逻辑,并隐式地将内容数据库包括在其中,如xdmp:eval函数,然后共享您的发现