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

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

  •  
  •   flikecn ·
    flike · 2015-10-21 15:59:43 +08:00 · 5109 次点击
    这是一个创建于 3321 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 19:52:27 +08:00
    没人感兴趣吗?大家都是怎么处理异步任务的?
    immjun
        2
    immjun  
       2015-10-21 19:55:42 +08:00
    对 Go 感兴趣
    virusdefender
        3
    virusdefender  
       2015-10-21 20:00:40 +08:00
    crontab + celery
    wph95
        4
    wph95  
       2015-10-21 20:15:30 +08:00
    @virusdefender celery + 1
    不过源码写的有点重。。。
    qihboy
        5
    qihboy  
       2015-10-22 00:51:10 +08:00
    deer job 以前用的?
    flikecn
        6
    flikecn  
    OP
       2015-10-22 08:44:44 +08:00
    @qihboy 不是哦,头像而已。
    flikecn
        7
    flikecn  
    OP
       2015-10-22 08:45:01 +08:00
    @wph95 kingtask 是轻量级的,使用比较简单。
    flikecn
        8
    flikecn  
    OP
       2015-10-22 08:45:10 +08:00
    @virusdefender 嗯,了解。
    flikecn
        9
    flikecn  
    OP
       2015-10-22 08:45:19 +08:00
    @immjun 可以看看
    HowardMei
        10
    HowardMei  
       2015-10-22 11:30:41 +08:00
    其实可以不用 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 11:54:28 +08:00
    @HowardMei 嗯,下一步注册任务直接通过 web api 来做。目前正在开发。后续可能会去掉 redis ,谢谢你的建议。
    jinzhe
        12
    jinzhe  
       2015-10-22 12:07:55 +08:00
    已 star 现在还用不上
    flikecn
        13
    flikecn  
    OP
       2015-10-22 13:59:13 +08:00
    @jinzhe 谢谢!
    jswh
        14
    jswh  
       2015-10-22 14:04:44 +08:00
    crontab + 公司自己的定时任务组件, php 的
    flikecn
        15
    flikecn  
    OP
       2015-10-22 15:36:43 +08:00
    @jswh kingtask 支持重试,可以算一个服务吧。我正在将提交任务改成 web api 调用的方式,这样服务之间就不依赖了。这也许就是所谓的「微服务」。:)
    gollum9526
        16
    gollum9526  
       2019-06-26 16:57:32 +08:00
    这个与 celery 实现异步、定时任务有何区别呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   954 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:30 · PVG 04:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.