V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
JerryYuan
V2EX  ›  程序员

求一枚开源,轻量级的分布式任务调度系统

  •  
  •   JerryYuan · 2023-11-11 09:38:19 +08:00 via Android · 2891 次点击
    这是一个创建于 406 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己搞了个 homelab server ,自己写了一堆脚本定时做一些签到,证书检查,数据拉取之类的工作,各自搞了一个 crontab/定时库来做定时,封装成 docker 常驻内存的跑。现在想找个中心化的调度系统,统一调度,支持参数,支持查看脚本日志,主要支持 golang python 语言的开发。

    目前了解过的有: xxl-job:java 写的,感觉太重了,主要任务也是用 java 配合 Spring 写,内存占用有点接受不了。 青龙面板:好像是 python 写的,希望能有个 Golang 写的。

    10 条回复    2023-11-11 23:20:34 +08:00
    mightybruce
        1
    mightybruce  
       2023-11-11 10:08:56 +08:00
    golang asyncq
    https://github.com/hibiken/asynq

    python celery
    ehycjcidxjfj
        2
    ehycjcidxjfj  
       2023-11-11 10:33:05 +08:00 via Android
    ehycjcidxjfj
        3
    ehycjcidxjfj  
       2023-11-11 10:34:39 +08:00 via Android
    挺不错
    yingguo888
        4
    yingguo888  
       2023-11-11 10:37:36 +08:00
    看看
    JerryYuan
        5
    JerryYuan  
    OP
       2023-11-11 11:17:26 +08:00 via Android
    @mightybruce
    asyncq 这个看着不错,我去了解下,感谢大佬
    jevonszmx
        6
    jevonszmx  
       2023-11-11 12:04:43 +08:00
    一直在用 gocron ,支持多节点,开箱即用: https://github.com/ouqiang/gocron
    1800x
        7
    1800x  
       2023-11-11 17:19:22 +08:00
    我也用 asynq ,自己再包装了下
    zhady009
        8
    zhady009  
       2023-11-11 18:25:10 +08:00 via iPhone
    举的例子感觉用工作流就行了,推荐 n8n
    surfwave
        9
    surfwave  
       2023-11-11 21:00:53 +08:00
    Python 用 Celery ,还是挺方便的。
    morebuff
        10
    morebuff  
       2023-11-11 23:20:34 +08:00
    asynq 在 github.com/robfig/cron 的基础上封装的,不过 github.com/robfig/cron 的源码核心也就是 cron 表达式的解析和计算下一次运行的时间,运行用的 golang 的 select 来做的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1813 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:19 · PVG 00:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.