A distributed task scheduling and distributed computing framework
A distributed task scheduling and distributed computing framework
online demo:http://ponfee.cn:8000/
English
| 简体中文
A distributed task scheduling and distributed computing framework, in addition to having regular task scheduling functions, also provides: pausing/cancelling running tasks, resuming paused tasks, task splitting, failure retries, broadcast tasks, task dependencies, workflow tasks (DAG), separate deployment of managers and executors, Web management backend, and other capabilities.
Lightweight and easy to use, it is particularly suitable for the execution of long tasks. Powerful and reliable, it has been tested in production environments.
disjob # Main project①
├── disjob-admin # Management backend project② (Based on RuoYi framework secondary development)
├── disjob-bom # Maven project bom module
├── disjob-common # Common utility class module
├── disjob-core # Task scheduling related core classes (such as data models, enumeration classes, abstract layer interfaces, etc.)
├── disjob-dispatch # Task dispatch module
│ ├── disjob-dispatch-api # Abstract interface layer of task dispatch
│ ├── disjob-dispatch-http # Http implementation of task dispatch
│ └── disjob-dispatch-redis # Redis implementation of task dispatch
├── disjob-id # Distributed ID generation module
├── disjob-registry # Server (Supervisor & Worker) registration module
│ ├── disjob-registry-api # Abstract interface layer of Server registration center
│ ├── disjob-registry-consul # Server registry center: Consul implementation
│ ├── disjob-registry-database # Server registry center: Database implementation
│ ├── disjob-registry-etcd # Server registry center: Etcd implementation
│ ├── disjob-registry-nacos # Server registry center: Nacos implementation
│ ├── disjob-registry-redis # Server registry center: Redis implementation
│ └── disjob-registry-zookeeper # Server registry center: Zookeeper implementation
├── disjob-reports # Aggregate test coverage reports of various modules
├── disjob-samples # Samples project③
│ ├── disjob-samples-conf-common # Samples common config (log4j2.xml)
│ ├── disjob-samples-conf-supervisor # Samples Supervisor config
│ ├── disjob-samples-conf-worker # Samples Worker config
│ ├── disjob-samples-frameless-worker # Example of Worker deployed separately (ordinary Java-main application)
│ ├── disjob-samples-springboot-common # Samples Spring-boot common module
│ ├── disjob-samples-springboot-merged # Example of Supervisor and Worker deployed together (Spring-boot application)
│ ├── disjob-samples-springboot-supervisor # Example of Supervisor deployed separately (Spring-boot application)
│ └── disjob-samples-springboot-worker # Example of Worker deployed separately (Spring-boot application)
├── disjob-supervisor # Supervisor code
├── disjob-test # Used for auxiliary testing
└── disjob-worker # Worker code
<dependency>
<groupId>cn.ponfee</groupId>
<artifactId>disjob-{xxx}</artifactId>
<version>2.1.5</version>
</dependency>
./mvnw clean install -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -U
git
repository)Configured different ports, run the java main class in IDE, or run the built jar package with the
java -jar
command.
root
, no password is requiredadmin
/123456
scheduling management
functiondisjob
/123456
disjob-registry-{xxx}
and disjob-dispatch-{xxx}
in the maven pom filedisjob-registry-redis
is used as the server registry and disjob-dispatch-http
is used for task dispatchFor example, if using Consul as the registry center, you can add the following configuration
disjob.registry.consul:
namespace: disjob_registry
host: localhost
port: 8500
token:
If you find bugs, have better implementation solutions, new features and so on, you can submit a PR or create newIssues
Scan the QR code to add WeChat friends, note disjob
, and invite you to join the group WeChat.