dkron cloud native 的分布式cron服务

dkron cloud native 的分布式cron服务 ,以下是一个简单的试用

环境准备

  • docker-compose 文件
version: "3"
services:
  cron:
     image: dkron/dkron
     command: agent --server --bootstrap-expect=1
     volumes:
     - "./dkron.data:/dkron.data"
     ports: 
     - "8080:8080"
     - "8946:8946"

试用

  • 效果

  • 创建job
curl localhost:8080/v1/jobs -XPOST -d '{
  "name": "job1",
  "schedule": "@every 10s",
  "timezone": "Europe/Berlin",
  "owner": "Platform Team",
  "owner_email": "platform@example.com",
  "disabled": false,
  "tags": {
    "server": "true:1"
  },
  "metadata": {
    "user": "12345"
  },
  "concurrency": "allow",
  "executor": "shell",
  "executor_config": {
    "command": "date"
  }
}'
 

效果

说明

dkron 依赖了hashicorp 的serf 以及raft算法进行集群的管理,定时任务使用了robfig/cron,同时使用了soheilhy/cmux(功能是服务复用,具体的使用场景
结合代码学习),jordan-wright/email进行邮件发送处理,同时类似的东西还是比较都的,nodejs的Cronicle也是一个不错的选择,同时其他语言也有类似
的实现,还是比较多的

参考资料

https://github.com/distribworks/dkron
https://dkron.io/basics/getting-started/
https://github.com/jhuckaby/Cronicle

原文地址:https://www.cnblogs.com/rongfengliang/p/14145415.html