1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

Shut down the Spark server more gracefully.

This commit is contained in:
Cedric Beust 2016-05-08 17:39:58 -07:00
parent d084718fd6
commit 2367d7aab6

View file

@ -7,6 +7,7 @@ import com.google.gson.Gson
import spark.ResponseTransformer import spark.ResponseTransformer
import spark.Route import spark.Route
import spark.Spark import spark.Spark
import java.util.concurrent.Executors
class SparkServer(val initCallback: (String) -> List<Project>, val cleanUpCallback: () -> Unit) class SparkServer(val initCallback: (String) -> List<Project>, val cleanUpCallback: () -> Unit)
: KobaltServer .IServer { : KobaltServer .IServer {
@ -29,9 +30,15 @@ class SparkServer(val initCallback: (String) -> List<Project>, val cleanUpCallba
override fun run(port: Int) { override fun run(port: Int) {
Spark.port(port) Spark.port(port)
Spark.get("/ping", { req, res -> "The Kobalt server is up and running" }) Spark.get("/ping", { req, res -> "The Kobalt server is up and running" })
Spark.get("/quit", { Spark.get("/quit", { req, res ->
req, res -> println("Kobalt server quitting...") Executors.newFixedThreadPool(1).let { executor ->
Spark.stop() executor.submit {
Thread.sleep(1000)
Spark.stop()
executor.shutdown()
}
"ok"
}
}) })
Spark.get("/v0/getDependencies", "application/json", Route { request, response -> Spark.get("/v0/getDependencies", "application/json", Route { request, response ->
val buildFile = request.queryParams("buildFile") val buildFile = request.queryParams("buildFile")