{"repo":"alibaba/schedulerx-worker-go","free":true,"listed":false,"github":"https://github.com/alibaba/schedulerx-worker-go","clone":"git clone https://github.com/alibaba/schedulerx-worker-go.git","description":"schedulerx-worker-go is the Golang SDK of SchedulerX","language":"Go","stars":45,"topics":["aliyun","cronjob","golang","scheduler"],"license":"Apache-2.0","category":"api-integrations-sdks","readme_excerpt":"schedulerx-worker-go 使用文档 --------------------- 背景 SchedulerX 是阿里云提供的分布式任务调度服务（兼容开源 XXL-JOB/ElasticJob/K8s Job/Spring Schedule），支持 Cron 定时、一次性任务、任务编排、分布式数据处理，具有高可用、可视化、可运维、低延时等能力。 schedulerx-worker-go 是 SchedulerX Go 版本的 SDK，该 SDK 由高德贡献。 功能 单机任务 （已支持） 广播任务 （已支持） Map任务（已支持） MapReduce任务 （已支持） 使用说明 1. 登录 SchedulerX 控制台创建应用，返回配置信息 2. 拉取 Go 版本 SDK 3. 实现接口，编写业务代码 3.1 单机任务 接口如下： 实现接口，参考Demo ： 3.2 广播任务 接口如下： 接口描述： PreProcess：所有worker节点执行Process之前，由master节点执行一次PreProcess Process：所有worker节点执行Process，可以返回结果 PostProcess：所有worker节点执行Process结束后，由master节点执行一次PostProcess，可以获取所有节点Process的结果 实现接口, 参考Demo: 3.3 Map任务 接口如下： 接口描述： Process: 每次子任务执行的业务逻辑，第一次进来的是根任务 Map: 在根任务中构造taskList，通过map方法可以平均分发给其他worker节点分布式执行 实现接口，参考Demo: 3.4 MapReduce任务 接口如下： 继承Map接口，新增接口如下： Reduce: 所有子任务执行完成后会执行一次reduce方法，在reduce中可以拿到所有子任务的状态和结果 RunReduceIfFail: 如果有子任务执行失败，是否执行reduce方法 实现接口，参考Demo: 4. 注册 client 和 job 4. 通过控制台创建任务 任务类型选择 golang，任务名称写第 4 步的任务名，比如 HelloWorld 示例 参考 example 目录","default_branch":null,"files":null,"tree":[],"storefront":"/r/alibaba","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/alibaba/schedulerx-worker-go/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}