【问题标题】:Create multiple MarkLogic Schedule Task for same module through ml-gradle通过 ml-gradle 为同一模块创建多个 MarkLogic Sc​​hedule Task
【发布时间】:2019-01-29 00:10:41
【问题描述】:

我正在尝试在同一个 marklogic 环境中创建多个应用程序实例。我可以创建所有配置(用户、角色、数据库、森林、应用服务器...),但无法为具有相同模块路径的单独数据库安排单个任务。

当尝试运行 ml-gradle mldeployApps 在创建任务时失败。

我的整个应用程序配置将取决于属性文件。对于任何 APP-NAME,都需要创建单独的实例。

我尝试通过 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":"Internal Server Error", "messageCode":"MANAGE-INVALID", "message": “管理无效(错误:FOER0000):任务数据库”}} 向 /manage/v2/tasks/5389046897270663947/properties?group-id=Default 发送 PUT 请求时出错;记录请求正文以协助调试:{

期待:

想要部署和取消部署整个应用程序,包括将基于 APPLICATION-NAME 的任务安排为单独的实例

实际:

基于模块路径的 mlDeployTasks 每个任务都使用旧的现有数据库进行标识,并且无法创建新的任务服务器。

请建议我实现相同目标的正确方法

【问题讨论】:

  • 这个问题解决了吗?寻找方向。

标签: gradle marklogic marklogic-8 marklogic-9 ml-gradle


【解决方案1】:

MarkLogic 的管理 API 将您的请求视为更改 task-database 的尝试,但它只允许更改计划任务的一个属性 (task-enabled)。我认为您需要在这里为您的不同数据库设置不同的task-path 值。这并不理想,但如果实现逻辑都在任务导入的库中,那么不同的模块本身将非常轻量级。

【讨论】:

  • 嗨@Dave Cassel,您提供的建议很有帮助,但就我而言,每次都很难更改任务路径。我将根据应用程序名称进行整个应用程序实例设置,这使我可以灵活地在同一个 marklogic 环境中设置任意数量的实例,只需在属性文件中更改一个应用程序名称即可。
【解决方案2】:

尝试 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

【讨论】:

  • 感谢提供有关 ml-gradle 3.10.0 的信息,它对我有所帮助。我可以看到 mlUndeployTasks 在 ml-gradle 3.10.0 中不起作用,我无法在 mldeleteAllTask​​s 正常工作的情况下取消部署任务。如果 3.10.0 有问题或者我有什么问题,您能帮我吗?
  • 如果您可以为您的项目共享一个最小配置 - 也许只是两个计划任务? - 请在 ml-gradle 项目中打开一个问题来跟踪它。
  • 嗨 @rjrudin,我在 ml-gradle 项目中创建了一个问题,用于跟踪 link
  • 配置如下 ml-gradle : 3.10.0 JSON : 如问题中提到的两个任务的变化 : task-database,task-modules &task-user change "task-database":"% %DATABASE%%", "task-modules":"%%MODULES_DATABASE%%", "task-user":"%%User%%",
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-03
  • 1970-01-01
  • 2017-11-07
  • 2013-06-03
相关资源
最近更新 更多