Sign inSign up

powerjob/powerjob-server

By powerjob

•Updated 5 days ago

PowerJob Server

Image
4

100K+

powerjob/powerjob-server repository overview

PowerJob

PowerJob is a powerful distributed scheduling platform and distributed computing framework based on Akka architecture.It provides you a chance to schedule job and distributed computing easily.

⁠Introduction

⁠Features
  • Simple to use: Provides a front-end Web interface that allows developers to visually complete the management of scheduled tasks (create, delete, update, and query), task operation status monitoring, and operation logs viewing.
  • Complete timing strategy: Support four timing scheduling strategies of CRON expression, fixed frequency, fixed delay and API.
  • Extensive execution modes: It supports four execution modes: stand-alone, broadcast, Map, and MapReduce. Among them, the Map / MapReduce processor enables developers to obtain cluster distributed computing capabilities with only a few lines of code.
  • Workflow(DAG) support: support online configuration of task dependencies, visually arrange tasks, as well as support for data transfer between upstream and downstream tasks
  • Extensive executor support: supports processors such as Spring Bean, ordinary Java objects, Shell, Python, and a wide range of applications (such as broadcast execution + Shell script to clear logs)
  • Convenient operation and maintenance: support online log function, the log generated by the actuator can be displayed on the front-end console page in real time, reduce the debugging cost, and greatly improve the development efficiency.
  • Dependency simplification: The smallest dependency-only database (MySQL / Oracle / MS SQLServer ...), the extended dependency is MongoDB (used to store huge online logs).
  • High availability & high performance: The scheduling server has been carefully designed to change the strategy of other scheduling frameworks based on database locks to achieve lock-free scheduling. Deploying multiple scheduling servers can achieve high availability and performance improvement at the same time (support unlimited horizontal expansion).
  • Failover and recovery: After the task fails to execute, the retry can be completed according to the configured retry strategy. As long as the executor cluster has enough computing nodes, the task can be successfully completed.
⁠Applicable scene
  • Business scenarios with regular execution requirements: such as synchronizing data in full volume every morning and generating business reports.
  • There are business scenarios that require all machines to perform together: such as log cleanup.
  • There are business scenarios that require distributed processing: for example, a large amount of data needs to be updated, and the stand-alone execution takes a long time. You can use the Map / MapReduce processors to complete the task distribution and mobilize the entire cluster to speed up the calculation.
⁠Comparison of similar products
QuartZxxl-jobSchedulerX 2.0PowerJob
Timing typeCRONCRONCRON, fixed frequency, fixed delay, OpenAPICRON, fixed frequency, fixed delay, OpenAPI
Task typeBuilt-in JavaBuilt-in Java, GLUE Java, Shell, Python and other scriptsBuilt-in Java, external Java (FatJar), Shell, Python and other scriptsBuilt-in Java, external Java (container), Shell, Python and other scripts
Distributed tasknoStatic shardingMapReduce dynamic shardingMapReduce dynamic sharding
Online task governancenot supportsupportsupportsupport
Log blankingnot supportsupportnot supportsupport
Scheduling methods and performanceBased on database lock, there is a performance bottleneckBased on database lock, there is a performance bottleneckUnknownLock-free design, powerful performance without upper limit
Alarm monitoringnomailSMSEmail, providing an interface to allow developers to customize development
System dependenceMySQLMySQLRenminbi (free during public beta, hey, help to advertise)Any relational database (MySQL, Oracle ...) supported by Spring Data Jpa
DAG workflownot supportnot supportsupportsupport

⁠Document

GitHub Wiki⁠

中文文档⁠

⁠Others

  • The product is permanently open source (Apache License, Version 2.0), free to use, and the current developer @KFCFans has sufficient time to maintain the project and provide free technical support (All of my time), welcome to try!
  • Welcome to participate in the contribution of this project, PR and Issue are greatly welcome (please) ~
  • If you feel pretty good, you can give it a star to support it ~ =  ̄ω ̄ =
  • Need some help or have some advice? Welcome to contact Developer @KFCFans-> [email protected]

Tag summary

Content type

Image

Digest

sha256:2b1f7e86c…

Size

286.9 MB

Last updated

5 days ago

docker pull powerjob/powerjob-server