mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-03-23 01:30:25 +01:00
Added throttling to reduce Bamboo peak load and number of concurrent connections
This commit is contained in:
@@ -14,21 +14,6 @@ import slick.jdbc.TransactionIsolation
|
||||
|
||||
import scala.concurrent.{ExecutionContext, Future}
|
||||
|
||||
final class SingleFutureExecutionThrottler() (implicit executionContext: ExecutionContext){
|
||||
private var nextFuture: Future[_] = Future.successful(null)
|
||||
|
||||
def throttle[T](f: => Future[T]): Future[T] = synchronized{
|
||||
val newFuture = nextFuture.recover{ case _ => null}.flatMap(_ => f)
|
||||
nextFuture = newFuture
|
||||
newFuture
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
final class NoThrottler() (implicit executionContext: ExecutionContext){
|
||||
def throttle[T](f: => Future[T]): Future[T] = f
|
||||
}
|
||||
|
||||
class VulnerabilityNotificationService @Inject() (protected val dbConfigProvider: DatabaseConfigProvider)(implicit executionContext: ExecutionContext) extends HasDatabaseConfigProvider[models.profile.type]{
|
||||
import dbConfig.driver.api._
|
||||
import models.tables._
|
||||
|
||||
Reference in New Issue
Block a user