2017-08-11 62 views
0

我使用“计划任务”在ML 8.0.6上使用Xquery查询来计划数据提取。Marklogic 8:计划任务不会启动并且没有日志

我的Xquery查询(此查询的工作,如果我复制/粘贴在ML Web控制台,我得到的AWS S3提供的文件):

xdmp:save("s3://XX.csv",let $nl := "
" 

return 
document { 

for $book in collection("books")/books 
return (root($book)/bookId||","|| 
     $optin/updatedDate||$nl 
) 
}) 

我的计划任务:

  • 任务启用:是
  • 任务路径:/home/bob/extraction.xqy
  • 任务根:/
  • 任务类型:每小时
  • 任务周期:1个
  • 任务开始时间:8过去的小时
  • 任务数据库:MYDATABASE
  • 任务模块:文件系统
  • 任务用户:admin
  • 任务宿主:XX
  • 任务优先级:更高

不幸的是,我的脚本没有执行,因为在AWS S3上没有生成文件(st使用orage),我没有任何日志。

任何想法到: 1 /在调度程序任务中调试作业? 2 /查看在预计时间运行的作业?

谢谢, 罗曼。

回答

3

首先,我会试着看看ErrorLog.txt,因为它可能会告诉你在哪里寻找问题。

xdmp:filesystem-file(concat(xdmp:data-directory(),"/","Logs","/","ErrorLog.txt")) 
  • 哪里是脚本位于逻辑:它是否被上传到内容数据库,数据库模块,或./MarkLogic/Modules目录?
  • 如果这是一个集群,是否指定了它运行的主机?如果是,并使用文件系统模块,则确保脚本存在于指定主机的./MarkLogic/Modules目录中。 Inf并且使用文件系统模块,然后确保该脚本存在于./MarkLogic/Modules目录中的全部群集的主机中。

至于看到了工作的运行,你可以检查http://servername:8002/dashboard/并采取看看Query Execution选项卡中显示正在运行的进程,或者你可以通过看看得到进程的快照状态页面任务服务器(配置>组> [组名称]>任务服务器:状态并单击显示更多按钮)

+0

谢谢迈克尔。不确定要了解您对剧本位置的看法。我把脚本放在用户的家里:/home/toto/test.xqy是 - 可以,或者我必须把它放在ML文件夹中?如果是,我怎样才能在任务类型/任务根目录中指定文件的路径?在文档中不是很明确 –

+0

我重复检查过,没有错误,但没有生成任何代码...... –

+1

要通过任务管理器执行脚本,脚本或者需要位于系统的其中一个数据库中,或者位于系统中的Modules文件夹中正在调用它的主机上的MarkLogic安装目录。 –