如何查看Marklogic应用服务器/任务服务器的等待任务数?
查看MarkLogic等待处理任务数量的方法
1. Manage API查询
调用对应服务器的状态接口,需使用具备监控权限的账号:
- 任务服务器:发送
GET请求到/manage/v2/task-servers/{id-or-name}/properties?view=status,解析响应JSON中的status.queue-size字段,即为等待任务数。 - 应用服务器:发送
GET请求到/manage/v2/app-servers/{id-or-name}/properties?view=status,响应里的status.request-queue-size对应等待请求数。
2. Admin控制台可视化查看
登录Admin界面后按路径操作:
- 任务服务器:进入
Groups > [目标组] > Task Servers > [目标任务服务器],在状态区域找到Queue Size字段,值就是等待任务数。 - 应用服务器:进入
Groups > [目标组] > App Servers > [目标应用服务器],查看Request Queue Size的数值。
3. XQuery直接查询内部状态
在Query Console中执行以下代码,可批量获取所有服务器的等待队列信息:
(: 查询所有任务服务器的等待任务数 :) for $task-server in admin:get-task-servers(admin:get-configuration()) let $server-id := admin:task-server-get-id($task-server) let $server-status := xdmp:server-status($server-id)/status return <task-server> <name>{admin:task-server-get-name($task-server)}</name> <waiting-tasks>{$server-status/queue-size/text()}</waiting-tasks> </task-server> (: 查询所有应用服务器的等待请求数 :) for $app-server in admin:get-app-servers(admin:get-configuration()) let $server-id := admin:app-server-get-id($app-server) let $server-status := xdmp:server-status($server-id)/status return <app-server> <name>{admin:app-server-get-name($app-server)}</name> <waiting-requests>{$server-status/request-queue-size/text()}</waiting-requests> </app-server>
内容的提问来源于stack exchange,提问作者Vennela
相关产品推荐
相关产品推荐

