问题1:请问下SchedulerX这个实例, 通过api创建任务时可以指定其中一个来执行吗,api需要通过哪个字段设置? 问题2:你是定时跑任务,还是api触发任务?如果定时跑任务,可以用刚才千习发的指定机器接口,之后所有定时调度都会跑在那个机器上
回答1:可以参考这个接口来指定机器执行https://help.aliyun.com/document_detail/467618.html?spm=a2c4g.467591.0.0.69d26cf0oSqxno 回答2:好的,我先看看,是定时任务跑的,此回答整理自钉群“【外部】SchedulerX阿里任务调度”
分布式任务调度在调用创建任务API CreateJob会返回一个任务JobId,比如 记录下当前任务的JobId,后续通过调用API EnableJob接口传入JobId 即可指定任务来执行。
具体是定时跑任务还是一次性执行任务在创建任务时需要指定对应的参数即可,参考文档:创建Java任务
另外对于最后一个疑问,刚才只是启动了指定JobId的任务,具体在哪台机器执行主要看路由策略的配置,路由策略API接口参考文档:文档
{
"name": "my_task",
"type": "shell",
"command": "echo 'Hello, world!'",
"run_machine_id": "machine-1"
}
在此示例中,我们创建一个名为 "my_task" 的 shell 任务,并使用 "run_machine_id" 字段指定要在 "machine-1" 上执行该任务。
POST /api/v1/task/trigger
{
"task_name": "my_task"
}
在此示例中,我们使用 "task_name" 字段指定要触发的任务名称。
关于第二个问题,SchedulerX 允许您在创建任务时指定要运行任务的机器。如果您希望所有定时调度都在同一台机器上运行,则可以在创建任务时指定该机器的 ID。例如,您可以使用以下 API 调用来创建一个名为 "my_task" 的 shell 任务,并将其分配给 ID 为 "machine-1" 的机器:
POST /api/v1/task/create
{
"name": "my_task",
"type": "shell",
"command": "echo 'Hello, world!'",
"run_machine_id": "machine-1"
}
在此示例中,我们使用 "run_machine_id" 字段将任务分配给 ID 为 "machine-1" 的机器。这样,所有定时调度都将在该机器上运行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。