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函数,然后共享您的发现