You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ml-gradle执行时如何不通过命令行向CORB模块传递参数

ml-gradle 无需命令行传参向CORB模块传值的方案

存在可完全脱离命令行-D参数传值的方案,你可以通过CorbTask内置的processModuleParams属性配置参数,非常适配多任务复用、动态传参的场景。

场景1:复用同一CorbTask模板,不同调用场景传不同参数

先定义公共的基础CorbTask,公共配置统一维护:

// 基础CORB任务模板,仅配置通用固定参数
task baseCorbTask(type: com.marklogic.gradle.task.CorbTask) {
  urisModule = "src/main/ml-modules/root/corb/common-uris.xqy"
  processModule = "src/main/ml-modules/root/corb/batch-process.xqy"
  threadCount = 10
  batchSize = 100
}

其他业务任务调用时,动态配置参数后执行即可:

// 调用场景A:数据归档
task archiveOldData {
  doLast {
    tasks.baseCorbTask.configure {
      processModuleParams = [
        opType: "archive",
        targetCollection: "archived_records",
        retainThreshold: "2022-01-01"
      ]
    }
    tasks.baseCorbTask.execute()
  }
}

// 调用场景B:数据清洗
task cleanInvalidData {
  doLast {
    tasks.baseCorbTask.configure {
      processModuleParams = [
        opType: "clean",
        fixInvalidField: true,
        deleteInvalidRecord: false
      ]
    }
    tasks.baseCorbTask.execute()
  }
}

场景2:直接定义多套独立配置的CorbTask

如果不需要复用模板,也可以直接为每个业务场景定义独立的CorbTask,参数直接写在任务配置中:

// 数据迁移专用CORB任务
task dataMigrateCorb(type: com.marklogic.gradle.task.CorbTask) {
  urisModule = "src/main/ml-modules/root/corb/migrate-uris.xqy"
  processModule = "src/main/ml-modules/root/corb/migrate-process.xqy"
  threadCount = 8
  processModuleParams = [
    sourceDb: "legacy-db",
    targetDb: "new-business-db",
    migrateAttachments: true
  ]
}

// 过期数据删除专用CORB任务
task expiredDataDeleteCorb(type: com.marklogic.gradle.task.CorbTask) {
  urisModule = "src/main/ml-modules/root/corb/expired-uris.xqy"
  processModule = "src/main/ml-modules/root/corb/delete-process.xqy"
  threadCount = 4
  processModuleParams = [
    expiredDays: 365,
    backupBeforeDelete: true
  ]
}

补充说明

  • 配置的processModuleParams参数会自动注入到处理模块的外部变量中,无需额外的参数解析逻辑
  • 如果你需要给URIS模块也传递参数,使用urisModuleParams属性即可,用法和processModuleParams完全一致

内容的提问来源于stack exchange,提问作者TJ Tang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:18:01