V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
flikecn
V2EX  ›  分享创造

kingtask--一个轻量级的异步定时任务系统

  •  
  •   flikecn ·
    flike · 2015 年 10 月 21 日 · 5550 次点击
    这是一个创建于 3736 天前的主题,其中的信息可能已经有所发展或是发生改变。
    kingtask 是一个由 Go 开发的轻量级的异步定时任务系统。主要特性包含以下几个部分:

    支持定时的异步任务。
    支持失败重试机制,重试时刻和次数可自定义。
    任务执行结果可查询。
    一个异步任务由一个可执行文件组成,开发语言不限。
    任务是无状态的,执行异步任务之前,不需要向 kingtask 注册任务。
    broker 和 worker 通过 redis 解耦。
    通过配置 redis 为 master-slave 架构,可实现 kingtask 的高可用,因为 worker 是无状态的, redis 的 master 宕机后,可以修改 worker 配置将其连接到 slave 上。

    github: https://github.com/flike/kingtask

    感兴趣的可以看看,或交流。:)
    16 条回复    2019-06-26 16:57:32 +08:00
    flikecn
        1
    flikecn  
    OP
       2015 年 10 月 21 日
    没人感兴趣吗?大家都是怎么处理异步任务的?
    immjun
        2
    immjun  
       2015 年 10 月 21 日
    对 Go 感兴趣
    virusdefender
        3
    virusdefender  
       2015 年 10 月 21 日
    crontab + celery
    wph95
        4
    wph95  
       2015 年 10 月 21 日
    @virusdefender celery + 1
    不过源码写的有点重。。。
    qihboy
        5
    qihboy  
       2015 年 10 月 22 日
    deer job 以前用的?
    flikecn
        6
    flikecn  
    OP
       2015 年 10 月 22 日
    @qihboy 不是哦,头像而已。
    flikecn
        7
    flikecn  
    OP
       2015 年 10 月 22 日
    @wph95 kingtask 是轻量级的,使用比较简单。
    flikecn
        8
    flikecn  
    OP
       2015 年 10 月 22 日
    @virusdefender 嗯,了解。
    flikecn
        9
    flikecn  
    OP
       2015 年 10 月 22 日
    @immjun 可以看看
    HowardMei
        10
    HowardMei  
       2015 年 10 月 22 日
    其实可以不用 Redis ,分布式 KV 很成熟了,像 https://github.com/victorcoder/dkron 就用 etcd 作 kv 和 serf 作 ha ,而我觉得直接用 consul (集成 raft + serf)就可以了,客户端直接注册 cron 任务,执行端返回一个状态就行, worker 可以更轻量, bash script + curl 就行
    flikecn
        11
    flikecn  
    OP
       2015 年 10 月 22 日
    @HowardMei 嗯,下一步注册任务直接通过 web api 来做。目前正在开发。后续可能会去掉 redis ,谢谢你的建议。
    jinzhe
        12
    jinzhe  
       2015 年 10 月 22 日
    已 star 现在还用不上
    flikecn
        13
    flikecn  
    OP
       2015 年 10 月 22 日
    @jinzhe 谢谢!
    jswh
        14
    jswh  
       2015 年 10 月 22 日
    crontab + 公司自己的定时任务组件, php 的
    flikecn
        15
    flikecn  
    OP
       2015 年 10 月 22 日
    @jswh kingtask 支持重试,可以算一个服务吧。我正在将提交任务改成 web api 调用的方式,这样服务之间就不依赖了。这也许就是所谓的「微服务」。:)
    gollum9526
        16
    gollum9526  
       2019 年 6 月 26 日
    这个与 celery 实现异步、定时任务有何区别呢
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:33 · PVG 20:33 · LAX 04:33 · JFK 07:33
    ♥ Do have faith in what you're doing.