源码地址:
https://github.com/zhenbianshu/gotorch
特色功能
·cron+,秒级定时,使任务执行更加灵活;
·任务列表文件路径可以自定义,建议使用版本控制系统;
·内置日志和监控系统,方便各位同学任意扩展;
·平滑重加载配置文件,一旦配置文件有变动,在不影响正在执行的任务的前提下,平滑加载;
·IP、最大执行数、任务类型配置、支持更灵活的任务配置;
技术要点:
cron+
在实现类型cron的功能之前,我简单地看了一下cron的源码,源码在https://busybox.net/downloads/可以下载,解压后文件在miscutils>crond.c。
cron的实现设计很巧妙,大概如下:
数据结构:
1.cron拥有一个全局结构体global,保存着各个用户的任务列表;
2.每一个任务列表是一个结构体CronFile,保存着用户名和任务链表等;
3.每一个任务CronLine有shell命令、执行pid、执行时间数组cl_Time等属性;