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.
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.
Next steps in the roadmap are:
[requirements] Make sure you have installed
#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
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:
it.fabioformosa.quartzmanager.jobs.AbstractLoggingJob
quartz-manager.jobClass
with qualified name of your custom Job Class (default job is SampleJob.class)/quartz-manager/src/main/resources/quartz.properties
quartz-manager.account.pwd
/quartz-manager
) and port (default 8080
): /quartz-manager/src/main/resources/application.properties
Swagger has been added as library. So, you can get REST API doc opening: http://localhost:8080/quartz-manager/swagger-ui.html
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 9.1.4, Web-Socket (stompjs 2.3.3)
Style angular material, FontAwesome 5
From quartz manager ver 2.x.x, the new structure of project is:
(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.