Creare uno scheduler in Ktor con cron4j
cron4j è una libreria per Java che ci permette di creare degli scheduler in stile CRON.
In questo articolo la usiamo in Kotlin per creare uno scheduler all'avvio del server di Ktor.
Se usate Maven:
<dependency>
<groupId>it.sauronsoftware.cron4j</groupId>
<artifactId>cron4j</artifactId>
<version>2.2.5</version>
</dependency>
Qui sotto il codice:
import io.ktor.server.application.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
import io.ktor.server.plugins.cors.routing.*
import it.sauronsoftware.cron4j.Scheduler
fun main() {
embeddedServer(Netty, port = 8080, host = "0.0.0.0", module = Application::module)
.start(wait = true)
}
fun Application.module() {
// YOUR STUFF
if (GetConfig.getConfig().automaticReset) {
val cronStr = "45 23 * * *"
val scheduler = Scheduler()
scheduler.schedule(cronStr) {
// DO STUFF
}
scheduler.start()
}
}
Molto easy.
Enjoy!
kotlin ktor maven cron4j
Commentami!