V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iwannay
V2EX  ›  Rust

基于 rust,自带内网穿透,支持海量节点推送,附带企业级 webssh 控制台的作业调度平台 jiascheduler 下周内测了

  •  
  •   iwannay · 40 天前 · 946 次点击
    这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。

    jiascheduler 调度无限制,连通无界限,基于 rust 的自动化作业调度平台

    前言

    好多年前 iwannay 写了一款名为 jiacrontab 的任务调度软件,帮助到了一些同学; 开源有种魔力,总是激励着人走的更远,感谢每一位赞助过该项目的同学。

    jiascheduler 是什么,服务于哪些人

    如果你是一位程序开发者,你希望能够把手头杂乱的定时任务管理起来,能够随时启动和停止,最好还能看到执行日志;

    如果你是网站管理员,你希望有一个统一的 web 控制台可以管理各大云厂商的服务器,而不需要频繁切换不同的云厂商控制台去操作;

    如果你是一位运维管理者,你希望有一个平台能够统一管理海量的运维脚本,实时的把各类型功能脚本推送到数以万计的实例上,并收到执行反馈;

    如果你是一个自由职业者,你刚好在腾讯云买了台服务器,你想通过某个工具给家里的电脑安排一个任务,比如....;

    嗯...,除了这些...

    我还有一些特殊场景,我想把几个无关的任务串联起来,最好还能做些逻辑判断,比如我想先检查下我的服务器实例是否安装了 nginx ,如果没安装我就安装,安装了我就部署一个网站。最好这个流程可以开放为一个接口,我调用接口就完成了!

    如果你有以上需求,jiascheduler 将是一个不错的选择。何况 jiascheduler 还提供了一个企业级的,及其好用 webssh 终端。这个要划重点。

    jiascheduler 架构

    图片来自网络

    • agent 部署在需要被管理的节点上
    • agent 和 comet 保持长连接,logic 层通过 comet 下达指令
    • agent 和 comet 通信采用 tls 双向认证加密,安全有保证

    jiascheduler 特性

    请注意,部分功能会在后续版本实装

    • 使用简单:提供前端 Web 界面,允许开发者可视化地完成调度任务的管理,任务运行状态监控和运行日志查看等功能
    • 资源占用极低:基于 rust 开发,内存安全
    • 跨区调度:支持内网打通,跨网络作业调度
    • 定时策略:支持 CRON 表达式
    • 批任务:支持批量执行作业,自定义输出校验,自动生成执行报表
    • 执行模式:支持单机、订阅(订阅主要用于容器调度,会在后续版本逐步开放),广播
    • 工作流支持:支持在线配置任务依赖关系( DAG ),以可视化的方式对任务进行编排,同时还支持上下游任务间的数据传递,以及多种节点类型(判断节点 & 嵌套工作流节点)。
    • 执行器自由定制:默认集成 Shell 、Python ,用户可在后端自由定制
    • 依赖精简:仅依赖 Mysql ,Redis
    • 高可用 & 高性能:调度服务器经过精心设计,支持在极低的资源暂用下同时调度数万节点
    • 故障转移与恢复:任务执行失败后,可根据配置的重试策略完成重试,在订阅模式下可跨节点调度
    • 安装简单:程序仅有三个二进制文件组成,零依赖,开箱即用
    • 企业级 webssh 终端:支持多页签,自定义主题,分屏,全屏,多会话批量命令,上传,下载

    jiascheduler 功能集锦

    作业

    一个可以自动化执行的任务。

    根据表现形式,可以是一个接口,一段 shell 脚本,一个可以执行的二进制命令

    作业

    定时器

    可以给作业添加执行计划,让作业按照预期的定时策略自动执行

    定时器

    作业编排

    根据业务场景的不同,往往需要将多个 job 组合编排为一个新的 job 。作业编排即根据不同条件,串行,并行的组合不同 job 为一个可以新 job 过程。

    定时器

    批任务

    一个作业可以同时关联多个子任务,子任务作为批任务的形式存在,可以对批任务的输出进行自定义表达式校验,这个功能可用于巡检

    定时器 定时器

    调度

    在启动作业时,会选定关联的作业,和需要执行的节点,生成一份快照,这个操作被称为作业调度。我们可以根据调度记录,重新执行执行过的作业

    定时器

    运行状态管理

    可以实时的管理正在运行的作业,比如停止定时器,kill 进程,重新启动作业

    定时器

    webssh 终端

    操作便捷,功能强大,支持多页签,自定义主题,分屏,全屏,多会话批量命令,上传,下载

    定时器

    结语

    以上为 jiascheduler 的简单介绍,请关注 https://github.com/jiawesoft/jiascheduler 获取最新发布动态

    2 条回复
    iwannay
        1
    iwannay  
    OP
       40 天前
    图片上传不了,813377930 这个是老的 jiacrontab 群,感兴趣的同学可以先进入这个群。
    iwannay
        2
    iwannay  
    OP
       28 天前
    已经发布了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3403 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:16 · PVG 19:16 · LAX 03:16 · JFK 06:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.