spring boot quartz scheduler
1.0.0
Aplicativo Spring Boot + Quartz + vueJs (Vuetify).
A solução fornece gerenciamento e agendamento de trabalhos que fazem chamadas HTTP para o endpoint fornecido. A vantagem do agendador é que podemos implantá-lo em clusters. (Inspirado na configuração do modo cluster de quartzo)
Variável de ambiente:
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>'
Criação de esquema Quartz:
./gradlew flywayMigrate
#Note : this is alreday initialise by spring hibernate.ddl-auto: update property
Para construir o JAR gordo e executar testes:
./gradlew build test
Cobertura Jacoco tst:
./gradlew jacocoTestReport
Correr:
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:
aplicação -> http://localhost:1234/
arrogância -> http://localhost:1234/swagger-ui.html