An open API service indexing awesome lists of open source software.

https://github.com/appng/appng-scheduler

An appNG privileged application, providing job scheduling services.
https://github.com/appng/appng-scheduler

appng-privileged-application

Last synced: 5 months ago
JSON representation

An appNG privileged application, providing job scheduling services.

Awesome Lists containing this project

README

          

image::https://raw.githubusercontent.com/appNG/appng/appng-1.25.x/appng-logo.png[]
:snapshot: 1.14.0-SNAPSHOT
:stable: 1.13.0
:current: {snapshot}

[caption="Apache License 2.0",link=LICENSE]
image::https://img.shields.io/badge/License-Apache%202-blue.svg?style=flat-square[]

[caption="Maven Central",link=http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.appng%22%20AND%20a%3A%22appng-scheduler%22]
image::https://img.shields.io/maven-central/v/org.appng/appng-scheduler.svg?style=flat-square[]

== Welcome to appNG Scheduler

appNG Scheduler is an appNG privileged application, providing job scheduling services.

=== Scheduler Execution Records
The scheduler records each execution of a scheduled job and also manual triggered executions. It saves the site, application and job name. It saves the start- and enddate as well as the duration in seconds. A scheduler job can provide some result information and custom data which are stored as well. Additionally the scheduler saves stacktraces if a job is interrupted by an exception.


==== REST API
The records of job executions are provided by a REST API. This is useful for writing monitoring checks to assure that important jobs has been executed successfully. To enable the REST API, the application property `bearerToken` has to be filled with a non-blank value. This bearer token is also a shared secret to be used as authentification header by the consuming application.

The API is available at:

/service//appng-scheduler/rest/jobRecords

There are some filter which can be provided as GET parameter

* application: filter for application name
* job: filter for job name
* startedAfter: filter for jobs with start time is after given time (format yyyy.MM.dd hh:mm:ss)
* startedBefore: filter for jobs where start time is before given time (format yyyy.MM.dd hh:mm:ss)
* result: SUCCEESS or FAIL to filter for successful or failed jobs
* minDuration: filter for jobs with a duration in seconds which equal or higher than the given value

==== Icinga/Nagios check script
Job executions can be monitored by icinga or nagios. A check script is available at scripts/icinga. With the range definition it is possible
to check each kind of minimum or maximum number of executions for a certain job in a configurable time period. Check the usage of the script
with --help