Sketch a scheduler for running periodic tasks

Periodic tasks are special in that they are usually kept around and
started based on a schedule. A new component checks periodic tasks and
submits them in the queue once they are due.

In order to avoid duplicate periodic jobs, the tracker of a job is
used to store the periodic job id. Each time a periodic task is due,
it is first checked if there is a job running (or queued) for this
task.
This commit is contained in:
Eike Kettner
2020-03-08 02:48:47 +01:00
parent 9b28858d06
commit 1e598bd902
20 changed files with 592 additions and 13 deletions

View File

@ -7,6 +7,7 @@ object Dependencies {
val BcryptVersion = "0.4"
val BetterMonadicForVersion = "0.3.1"
val BitpeaceVersion = "0.4.3"
val CalevVersion = "0.1.0"
val CirceVersion = "0.13.0"
val DoobieVersion = "0.8.8"
val EmilVersion = "0.2.0"
@ -37,6 +38,11 @@ object Dependencies {
val ViewerJSVersion = "0.5.8"
val calev = Seq(
"com.github.eikek" %% "calev-core" % CalevVersion,
"com.github.eikek" %% "calev-fs2" % CalevVersion
)
val jclOverSlf4j = Seq(
"org.slf4j" % "jcl-over-slf4j" % Slf4jVersion
)