# GoCrontab **Repository Path**: volvoxc60/GoCrontab ## Basic Information - **Project Name**: GoCrontab - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # go 依靠etcd实现的crontab 1. 传统cron缺点 - 不支持分布式 - 异常无法追踪 - 管理困难 2. 合理分布式cron架构 - master-worker分布式架构 - master的增删改查同步到etcd - worker从etcd中读取任务,并将日志同步到master,master进而展现日志 - worker的注册与发现 - 服务注册与发现 - 任务并发、调度、 - 分布式异步存储日志 - cap、raft - 负载均衡 - 任务可视化管理 - viper 管理配置项 - 3. [etcd v3 官方文档](https://pkg.go.dev/github.com/coreos/etcd/clientv3?) 4. TODO - worker负载监控,定时上报 - 创建任务的时候可选worker,并且支持配置权重 - 微信|邮件提醒 - master主备切换,以及期间未执行任务的处理工作,可接入Redis|RabbitMQ - 任务生命周期完整记录 - [接入凯斯宾权限控制](https://github.com/casbin/casbin) 5. how todo - server master同时注册到etcd server,然后每个serverwatch这个key变化,如果有变化,尝试接管 - worker端同时上报各个负载情况,包括但不限于所执行的任务列表,当前内存,cpu等。(go应该有类似的库)