spring boot quartz scheduler
1.0.0
Spring Boot + Quartz + vueJs(Vuetify)-Anwendung.
Die Lösung ermöglicht die Verwaltung und Planung von Jobs, die HTTP-Aufrufe an den bereitgestellten Endpunkt tätigen. Das Gute am Scheduler ist, dass wir ihn in Clustern bereitstellen können. (Inspiriert durch die Quarz-Cluster-Modus-Einstellung)
Umgebungsvariable:
export DB_NAME='<your_db_name>'
export DB_HOST='<your_db_host>'
export DB_PORT='<your_db_port>'
export DB_USERNAME='<your_db_user>'
export DB_PASSWORD='<your_db_password>'
Erstellung eines Quartz-Schemas:
./gradlew flywayMigrate
#Note : this is alreday initialise by spring hibernate.ddl-auto: update property
So erstellen Sie das Fat-JAR und führen Tests durch:
./gradlew build test
Jacoco TST-Abdeckung:
./gradlew jacocoTestReport
Laufen:
java -jar build/libs/spring-boot-quartz-scheduler-1.0-SNAPSHOT.jar
OR
./gradlew bootRun
Docker:
## build
docker build -t needubey/quartz_scheduler
# RUN
docker run --name quartz_scheduler
-p 1234:1234
--env DB_NAME="quartz_scheduler"
--env DB_HOST="postgres"
--env DB_PORT="5432"
--env DB_USER_NAME="postgres"
--env DB_PASSWORD="postgres"
--detach
needubey/quartz_scheduler
Docker-Compose:
version: '3'
services:
postgres:
container_name: postgres
image: postgres
environment:
POSTGRES_DB: ${DB_NAME:-quartz_scheduler}
POSTGRES_USER: ${DB_USERNAME:-postgres}
POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5432:5432"
networks:
- postgres
restart: unless-stopped
quartzscheduler:
depends_on:
- "postgres"
container_name: quartz_scheduler
build: .
image: needubey/quartz_scheduler
environment:
DB_NAME: ${DB_NAME:-quartz_scheduler}
DB_HOST: ${DB_HOST:-postgres}
DB_PORT: 5432
DB_USERNAME: ${DB_USERNAME:-postgres}
DB_PASSWORD: ${DB_PASSWORD:-postgres}
ports:
- "${SCHEDULER_PORT:-1234}:1234"
networks:
- postgres
restart: unless-stopped
networks:
postgres:
driver: bridge
volumes:
postgres:
Anwendung -> http://localhost:1234/
swagger -> http://localhost:1234/swagger-ui.html