PowerJob is an open-source distributed computing and job scheduling framework which allows developers to easily schedule tasks in their own application.
Refer to PowerJob Introduction for detailed information.
Friendly UI: Front-end page is provided and developers can manage their task, monitor the status, check the logs online, etc.
Abundant Timing Strategies: Four timing strategies are supported, including CRON expression, fixed rate, fixed delay and OpenAPI which allows you to define your own scheduling policies, such as delaying execution.
Multiple Execution Mode: Four execution modes are supported, including stand-alone, broadcast, Map and MapReduce. Distributed computing resource could be utilized in MapReduce mode, try the magic out here!
Workflow(DAG) Support: Both job dependency management and data communications between jobs are supported.
Extensive Processor Support: Developers can write their processors in Java, Shell, Python, and will subsequently support multilingual scheduling via HTTP.
Powerful Disaster Tolerance: As long as there are enough computing nodes, configurable retry policies make it possible for your task to be executed and finished successfully.
High Availability & High Performance: PowerJob supports unlimited horizontal expansion. It's easy to achieve high availability and performance by deploying as many PowerJob server and worker nodes.
- Timed tasks, for example, allocating e-coupons on 9 AM every morning.
- Broadcast tasks, for example, broadcasting to the cluster to clear logs.
- MapReduce tasks, for example, speeding up certain job like updating large amounts of data.
- Delayed tasks, for example, processing overdue orders.
- Customized tasks, triggered with OpenAPI.
Click to register as PowerJob user!
ღ( ´・ᴗ・` )ღ Many thanks to the following registered users. ღ( ´・ᴗ・` )ღ
Stargazers over time
PowerJob is released under Apache License 2.0. Please refer to License for details.