GUI Manager for Quartz Scheduler.
Through this webapp you can launch and control your scheduled job. The GUI Console is composed by a managament panel to set trigger, start/stop scheduler and a log panel with a progress bar to display the job output.
- Set up the trigger into the left sidebar in terms of: daily frequency and and max occurrences.
- Press the start button
- The GUI manager updates the progress bar and reports all logs of your quartz job.
Open the Projects Section to glance at the roadmap of Quartz Manager. This project was born in 2016 when I needed a visual panel to monitor a scheduled job that fulfilled a mailing campaign to my customers. It is currently under development, regarding: frontend, backend and CI/CD.
[requirements] Make sure you have installed
- Java 8 or greater
- Maven
- npm, node and angular-cli
#CLONE REPOSITORY
git clone https://github.com/fabioformosa/quartz-manager.git
# START QUARTZ-MANAGER-API
cd quartz-manager/quartz-manager-api
mvn spring-boot:run
# START QUARTZ-MANAGER-FRONTEND
cd quartz-manager/quartz-manager-frontend
npm install
npm start
- Open browser at http://localhost:4200
- Log in with default credentials:
admin/admin
If you are not confident with maven CLI, you can start it by your IDE. For more details spring boot ref.
By default, quartz-manager executes the dummy job that logs "hello world!".
Replace the dummy job (class: it.fabioformosa.quartzmanager.jobs.SampleJob
) with yours. Follow these steps:
- Extend the super class
it.fabioformosa.quartzmanager.jobs.AbstractLoggingJob
- set property
quartz-manager.jobClass
with qualified name of your custom Job Class (default job is SampleJob.class)
- Num of Threads:
/quartz-manager/src/main/resources/quartz.properties
- Credentials: To change admin's password, set ENV var
quartz-manager.account.pwd
- quartz-manager backend context path (default
/quartz-manager
) and port (default8080
):/quartz-manager/src/main/resources/application.properties
Backend Stack Java 8, Spring Boot 2.1.4 (Spring MVC 5.1.6, Spring Security 5.1.5, Spring AOP 5.1.6), Quartz Scheduler 2.3.1
Application Server Tomcat (embedded)
Frontend Angular 7.2.13, Web-Socket (stompjs 2.3.3)
Style angular material, FontAwesome 5
From quartz manager ver 2.x.x, the new structure of project is:
- REST backend (java based, using http://www.quartz-scheduler.org/
- Single Page Application frontend (angular 7)
(The previous version of quartz manager was a monolithic backend that provided also frontend developed with angularjs 1.6.x. You can find it at the branch 1.x.x)
Every contribution is welcome. Open a issue, so we can discuss about new features and implement them.
- this project has been created from angular-spring-starter