Scala PlayFramework 不等待响应只是存储在数据库中
Scala PlayFramework don't wait for response just store in database
在每个服务下面的代码中,实现了 returnboolean.I scala 新手的检查特征,所以想知道有没有办法在这里添加一些服务 return立即布尔值(不会使用此服务的响应,因此它每次都可以 return true)并在后台工作以填充数据库,而循环完成并且 return 结果为请求者。
requestedChecks.keys.par.foreach(serviceName => {
if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
data += (serviceName -> initializeService(serviceName).check(mapForService))
}
})
你可以这样做这是@mrfyda 的提议,这也是我的想法:
import play.api.libs.concurrent.Execution.Implicits._
import scala.concurrent.Future
Future {
requestedChecks.keys.par.foreach(serviceName => {
if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
data += (serviceName -> initializeService(serviceName).check(mapForService))
}
})
}
Ok(view.html.index()) // or whatever you response looks like
在每个服务下面的代码中,实现了 returnboolean.I scala 新手的检查特征,所以想知道有没有办法在这里添加一些服务 return立即布尔值(不会使用此服务的响应,因此它每次都可以 return true)并在后台工作以填充数据库,而循环完成并且 return 结果为请求者。
requestedChecks.keys.par.foreach(serviceName => {
if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
data += (serviceName -> initializeService(serviceName).check(mapForService))
}
})
你可以这样做这是@mrfyda 的提议,这也是我的想法:
import play.api.libs.concurrent.Execution.Implicits._
import scala.concurrent.Future
Future {
requestedChecks.keys.par.foreach(serviceName => {
if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
data += (serviceName -> initializeService(serviceName).check(mapForService))
}
})
}
Ok(view.html.index()) // or whatever you response looks like