Giter VIP home page Giter VIP logo

openjob's Introduction

openjob

A distributed task scheduling framework.

中文

Introduction

Openjob is A distributed and high-performance task scheduling framework that supports multiple cronjob, delay task, workflow, lightweight distributed computing, unlimited horizontal scaling, with high scalability and fault tolerance. Also has permission management, powerful alarm monitoring, and support multiple languages.

  • High reliability
    • Distributed with stateless design, using the Master/Worker architecture, supports multiple databases (MySQL/PostgreSQL/Oracle)
  • High performance
    • System uses a consistency sharding algorithm, lock-free design, task scheduling is accurate down to the second, supporting lightweight distributed computing and unlimited horizontal scaling
  • Cronjob
    • Supports distributed cronjob, fixed rate tasks, high-performance second tasks, and onetime tasks
  • Distributed computing
    • Supports multiple distributed programming models such as standalone, broadcast, Map, MapReduce, and sharding, easy to complete distributed computing for big data
  • Delay task
    • High performance delay task based on Redis , support multi-level storage, and provides rich statistics and reports
  • Workflow
    • Supports workflow scheduling engine, visual DAG design, and easy to complete complex task scheduling
  • Permission management
    • User management, supports menu, button, and data permission settings, flexible management of user permissions
  • Alarm monitoring
    • Overall monitoring metrics, rich and alarm in time, easy to locate and resolve online problem
  • Multiple languages
    • Support multiple languages such as Java, Go, PHP, and Python, as well as build with frameworks such as Spring Boot, Gin, and Swoft

Open source

Item Quartz Elastic-Job XXL-JOB Openjob
Cronjob Cron Cron Cron * Cronjob
* second
* Onetime
* Fixed rate
Delay task No No No Distributed, high-performance delay task based on Redis
Workflow No No No Workflow design with UI
Distributed Computing No Sharding Sharding * Broadcast
* Map/MapReduce
* Sharding
Multiple languages Java * Java
* Shell
* Java
* Shell
* Java
* Go(Gin、beego)
* PHP(Swoft)
* Python(Agent)
* Shell
* HTTP
* Kettle
Visualization No Weak * Task history
* Task log(Not support storage)
* Dashboard
* Task history

* Task log(support H2/Mysql/Elasticsearch)
* Dashboard
* Full permissions
* Task log stack
Manageable No enable、disable task * enable、disable task
* execute once
* stop
* enable、disable task
* execute once
* kill
* stop
Alarms No email email * custom event
* email
* webhook
Performance Every task scheduling try to acquire a lock through the database, causes a high pressure on the database ZooKeeper is performance bottleneck Task scheduling is only by master, causes a high pressure on master Uses sharding algorithm, each node can be scheduled without lock, supports unlimited horizontal scaling, and supports big task scheduling

Maven dependency

<openjob.worker.version>1.0.7</openjob.worker.version>
<dependency>
    <groupId>io.openjob.worker</groupId>
    <artifactId>openjob-worker-core</artifactId>
    <version>${openjob.worker.version}</version>
</dependency>

<!--If your project base on `Spring Boot`, you can directly use the following dependencies-->
<dependency>
    <groupId>io.openjob.worker</groupId>
    <artifactId>openjob-worker-spring-boot-starter</artifactId>
    <version>${openjob.worker.version}</version>
</dependency>

Documentation

Live demo

  • Find the live demo on our website.
    • username: openjob
    • password: openjob.io

Contact

WeChat

  • WeAccount:

WeChat

Openjob ecosystem

Contributors

This project exists thanks to all the people who contribute. [Contributors].

License

Openjob is under the Apache 2.0 license. See the LICENSE file for details.

openjob's People

Contributors

stelin avatar inhere avatar sakuraovq avatar xinzhuxiansheng avatar xiaoshazhe avatar yuhai0 avatar dependabot[bot] avatar

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.