klite

klite-jobs

Provides an ExecutorService-based JobRunner that also handles transactions. Depends on jdbc module.

By default, Jobs use DB locks to ensure only one instance is running at a time. You can enable parallel runs by overriding allowParallelRun property.

Usage example:

  use<JobRunner>().apply {
    scheduleDaily(require<SomeJobImplementation>(), at = LocalTime.of(7, 0))
  }