用于计划和删除任务的Marklogic管理API

用于计划和删除任务的Marklogic管理API,marklogic,marklogic-8,Marklogic,Marklogic 8,我正在使用管理API计划任务manage/v2/tasks?group id=Default,我发送的JSON字符串是 { "task-enabled":true, "task-path":"/MarkLogic/flexrep/tasks/push-local-forests.xqy", "task-root": "Modules/", "task-type": "minutely", "task-period" : 1, "task-database": "%%DAT

我正在使用管理API计划任务
manage/v2/tasks?group id=Default
,我发送的JSON字符串是

{
  "task-enabled":true,
  "task-path":"/MarkLogic/flexrep/tasks/push-local-forests.xqy",
  "task-root": "Modules/",
  "task-type": "minutely",
  "task-period" : 1,
  "task-database": "%%DATABASE%%",
  "task-modules": "%%MODULES_DATABASE%%",
  "task-user": "admin",
  "task-priority": "higher"
}
我的问题是如何设置任务的名称?通过查看
管理任务属性.xsd
它没有任务名称。因此,如果我想使用管理api删除任务,
delete/manage/v2/tasks/{id | name}
它确实需要任务名称。 因此,我在上面的json中创建了一个随机任务id
任务id:9459386113689474276
,当我这样做时,管理api抛出一个异常

{
    "errorResponse": {
        "statusCode": "400",
        "status": "Bad Request",
        "messageCode": "MANAGE-INVALIDPAYLOAD",
        "message": "MANAGE-INVALIDPAYLOAD: (err:FOER0000) Payload has errors in structure, content-type or values. Task payload invalid."
    }
}
我看了一下服务器日志,发现了这个

2017-09-12 20:11:37.721 Info: [Event:id=HTTPRequest ErrorFormat] Dispatching error code to app defined error handler:  500 manage/error-handler.xqy
2017-09-12 20:11:37.818 Info: Manage: MANAGE-INVALID (err:FOER0000): task-id
2017-09-12 20:11:37.818 Info: Manage: 169:16:/MarkLogic/manage/models/task-properties-model.xqy 
如何设置
任务id
任务名称
,以便使用管理API删除任务?因为删除管理API确实要求删除任务的
名称| id

*******编辑********* 我希望显式部署我的
FlexRep计划任务
,并且仅当为特定环境启用了
FlexRep
时。我知道我可以根据一些用户定义的变量或env删除deploy task命令,但这也将删除其他任务的所有部署。
是否有一种方法可以告诉我不要部署特定任务?

很遗憾,计划任务没有名称,但有任务路径。当您创建计划任务时,MarkLogic将为您创建任务ID-不允许您自己设置任务ID

当您需要删除任务路径时,您将需要使用管理API查找ID—您很可能会通过任务路径执行此操作(使用相同任务路径的两个计划任务应该非常罕见)

请注意,如果您和/或您的团队选择使用gradle,ml gradle--可以为您处理所有这些