我正在尝试在同一marklogic环境上创建应用程序的多个实例。我可以创建所有配置(用户,角色,数据库,林,应用程序服务器...),但是无法为具有相同模块路径的单独数据库安排单独的任务。
尝试运行在创建任务时失败的ml-gradle mldeployApps。
我的整个应用程序配置将取决于属性文件。对于任何APP-NAME,都需要创建单独的insi。
我尝试通过ml-gradle进行部署 mlDeployTasks失败,因为已有任务可用于模块路径。当尝试以新的失败运行secong时,因为它无法识别任务数据库
JSON:
{
"task-enabled":true,
"task-path":"/ext/schedules/monitor.xqy",
"task-root":"/",
"task-type":"daily",
"task-period":1,
"task-start-time": "10:00:00",
"task-database":"%%DATABASE%%",
"task-modules":"%%MODULES_DATABASE%%",
"task-user":"admin",
"task-priority":"normal"
}
错误:
记录HTTP响应正文以帮助调试:{“ errorResponse”:{“ statusCode”:“ 500”,“ status”:“内部服务器错误”,“ messageCode”:“ MANAGE-INVALID”,“ message”: “ MANAGE-INVALID(err:FOER0000):任务数据库”}} 向/ manage / v2 / tasks / 5389046897270663947 / properties?group-id = Default发送PUT请求时发生错误;记录请求主体以帮助调试:{
期望:
希望部署和取消部署整个应用程序,包括调度基于APPLICATION-NAME作为单独实例的任务
实际:
基于模块路径的mlDeployTasks用旧的现有数据库标识了每个任务,但无法创建新的任务服务器。
请为我建议实现相同目标的正确方法
答案 0 :(得分:1)
MarkLogic的管理API是看到你的要求是企图改变task-database
,但只允许一个计划任务,以改变一个属性(task-enabled
)。我认为您需要在此处为不同的数据库设置不同的task-path
值。这不是理想的,但如果实现逻辑是所有在年代由任务进口图书馆,不同的模块本身将是非常轻巧。
答案 1 :(得分:1)
尝试ml-gradle 3.10.0-现在对此提供支持-请参阅ml-app-deployer 3.10.0的发行说明(在ml-gradle中提供了大多数功能)-https://github.com/marklogic-community/ml-app-deployer/releases/tag/3.10.0 >