Coder Social home page Coder Social logo

springhgui / opentask Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 197 KB

去中心化分布式任务/作业调度系统

Home Page: http://opentask.run

License: MIT License

C# 43.70% JavaScript 1.59% TypeScript 53.92% HTML 0.06% CSS 0.38% Dockerfile 0.25% Shell 0.09%
cron cronjob scheduler xxl-job job task

opentask's Introduction

OpenTask

Build status Nuget

去中心设计的分布式任务调度平台,本项目不仅仅是创造一个新的轮子,旨在补充dotnet生态下分布式任务调度系统的空白,但本项目设计的并非只支持dotnet平台;

调度中心与执行器的通讯协议采用mqtt协议,方便多种语言的快速接入,调度中心采用去中心化设计,各个调度中心之间亦采用mqtt协议通讯;

调度中心自动进行任务分片,以平均每个调度节点的负载。

体验地址

http://opentask.run/
账号:admin
密码:OpenTask

仓库地址

Github

Gitee

当前进度

⚠⚠⚠ 当前尚处于开发初期,请勿在重要的生产环境中使用。

  • web管理后台
  • cron任务
  • 工作流(DAG)
  • 固定周期任务
  • 调度中心集群部署
  • 调度中心自动分片
  • 任务重试
  • 任务故障转移
  • 进行中的任务支持取消
  • 失败告警

未完待续...

欢迎提issue补充您的需求

快速开始

1. 调度中心部署

  1. docker-compose
# 克隆本项目
cd deploy/docker-compose
docker-compose up -d
  1. k8s

  2. docker

  3. 传统手动部署

2. 执行节点开发

.NetCore

可参考 src/OpenTask.Client

  1. 安装nuget依赖 dotnet add package OpenTask.Core
  2. 注册Handler
IHost host = Host.CreateDefaultBuilder(args)
.ConfigureServices((ctx, services) =>
{
    _ = services.AddOpenTaskWorker(ctx.Configuration.GetSection("OpenTaskWorker"), options =>
    {
        options.AddHandler<DemoJobHandler>();
        options.AddHandler<JobHandler>();
    });
})
.Build();

host.Run();
  1. 配置文件
{
  "OpenTaskWorker": {
    "Addr": [ "127.0.0.1:1883" ],
    "AppName": "default"
  }
}

java

3. 管理后台查看

登录后台 localhost:8080 默认账号密码: admin/OpenTask

其他语言开发

高级配置

  1. 使用已有的数据库

贡献指南

开源项目的发展离不开社区的贡献,如果您在使用本项目中遇到问题或建议,欢迎多多提issue,对于符合大众的需求,我们将尽快进行完善。

如果您在使用中遇到了bug或者有bug的修改建议等,您可以直接创建PR,感谢~

  1. 开发数据库搭建
docker run -e MYSQL_DATABASE=open_task -e MYSQL_ROOT_PASSWORD=OPEN_TASK_!@# -p 3308:3306 --name=mysql8 -d registry.cn-hangzhou.aliyuncs.com/hgui/mysql:8.4.1
  1. 安装vs2022 打开OpenTask.sln解决方案进行开发

  2. 运行 OpenTask.WebApi 后端

  3. 切到 ui/vite-opentask 运行前端项目

需要安装node20

npm i
npm run dev

默认用户名密码 admin/OpenTask

开源协议

MIT

opentask's People

Contributors

springhgui avatar

Stargazers

 avatar  avatar 斯文 avatar Eleven fan avatar Ptkatz avatar  avatar 俞正东 avatar  avatar

Watchers

 avatar

opentask's Issues

来为OpenTask 的 Feature Request 投票吧!

搜集已有 Feature Request 的热度,需求量大的会优先实现~

投票方法

为你喜爱的特性添加表情

如何新建一个特性

首先另外新建一个 Feature Request 分类的 issue,然后在本 issue 下作出简介和超链接🔗

Tips:

重复提交的特性会被隐藏,新建特性之前请先浏览是否有你想要的特性,如已存在,请投票即可。
对特性的讨论请移步相应的 issue

如果您正在调研或使用本项目,请在这里登记~

本issue下登记用户,只为了解用户的使用情况,或为更好的宣传本项目,感谢您能花费一两分钟宝贵的时间进行登记,登记模板如下:

企业/个人:xxx
使用阶段:调研中 | 刚刚使用 | 使用超过x个月 
建议/评价:xxxxxxx | 很好用

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.