Closed libi closed 2 months ago
实现该特性需要完全理解 robfig/cron 的设计,扩展分布式状态设计。
在最新的master中已经将robfig/cron的内容fork到dcron仓库内并添加了logger相关的修改,之后会继续改进
使用一个 boolean value 来控制是否使用分布式可能更好一些,driver 应当在初始化时就被注入
使用一个 boolean value 来控制是否使用分布式可能更好一些,driver 应当在初始化时就被注入
个人感觉是不需要的,如果不用分布式的话大家可能就直接用robfig/cron了
使用一个 boolean value 来控制是否使用分布式可能更好一些,driver 应当在初始化时就被注入
个人感觉是不需要的,如果不用分布式的话大家可能就直接用robfig/cron了
但比如我用 fx 进行全局依赖注入,如果不用分布式则需要单独引入一个 robfig/cron 的实例,并不是很方便
初始化时用option的方式也实现类似bool的效果 例如
enable := true
var cronIns *Dcron
if enable {
cronIns = dcron.New(dcron.WithDistributed(dcron.Driver))
}else {
cronIns = dcron.New()
}
注入时使用cronIns实例即可。
已实现
@dxyinme 我用这个项目申请了2个jetbrains Licenses, 给你一个呀 给我发个jetbrains的登录邮箱把你拉进来.
可以考虑将 robfig/cron 完全内置: 对内可以实现更精准的任务执行时机判断。 对外用户调用接口将与robfig/cron完全一致,只通过替换包名即可无缝替换单机模式。 如果需要分布式支持,只需要配置额外的 option 选项开启分布式。
例如开启某个定时任务: cron 用法
dcron用法
如需开启分布式时: