libi / dcron

轻量分布式定时任务库 a lightweight distributed job scheduler library
MIT License
421 stars 73 forks source link

Stable API #101

Open dxyinme opened 2 weeks ago

dxyinme commented 2 weeks ago

是否需要将API稳定下来,开发一个稳定版本? 可以一起讨论下还有哪些欠缺的功能需要提供,以及对现有API的改进。

libi commented 2 weeks ago

API感觉还能继续优化一下,我觉得有2个点:

  1. 已经把cron内置了,所以dcron的初始化函数可以和cron一样了.最终实现的效果就是之前使用cron的用户只需要替换包名就能无缝替换. 如果需要启用分布式,附加带driver的配置即可.
  2. driver包独立:项目本身依赖的三方库其实并不多,主要是各个driver引入带来的间接引入.所以可以考虑将driver目录整合一下提取出接口,具体实现都使用独立包含go.mod的子目录(一个仓库下的多个go mod). 这样对于只使用主项目时的依赖会非常简洁.
dxyinme commented 1 day ago

关于driver包独立: 这两天尝试了一下发现想要独立出去略微有些困难,有一种方法是对于每一个driver新开一个repo,要在一个仓库下的话,可能就要用go work来共同管理了