case class HttpPlatform(maxConcurrentRequests: Int, rateLimits: Seq[(String, RateLimit)]) extends ExecutionPlatform with Product with Serializable
Allow to make HTTP calls in a managed way with rate limiting. Globally the platform limits the number of concurrent requests on the platform. Additionnaly a rate limiter must be defined for each host allowed to be called by this platform.
Example:
platforms.http.HttpPlatform( maxConcurrentRequests = 10, rateLimits = Seq( .*[.]criteo[.](pre)?prod([:][0-9]+)?" -> platforms.http.HttpPlatform.RateLimit(100, per = SECONDS), google.com -> platforms.http.HttpPlatform.RateLimit(1, per = SECONDS) ) ),
While being rate limited, the Job Execution is seen as WAITING in the UI.
- Alphabetic
- By Inheritance
- HttpPlatform
- Serializable
- Serializable
- Product
- Equals
- ExecutionPlatform
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val maxConcurrentRequests: Int
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
privateRoutes: AuthenticatedService
Expose a private
lolhttp
service for the platform operations (for the UI and API).Expose a private
lolhttp
service for the platform operations (for the UI and API).- Definition Classes
- ExecutionPlatform
-
lazy val
publicRoutes: PartialService
Expose a public
lolhttp
service for the platform internal statistics (for the UI and API).Expose a public
lolhttp
service for the platform internal statistics (for the UI and API).- Definition Classes
- HttpPlatform → ExecutionPlatform
- val rateLimits: Seq[(String, RateLimit)]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
waiting: Set[Execution[_]]
- returns
the list of Execution waiting for resources on this platform. These executions will be seen as WAITING in the UI and the API.
- Definition Classes
- HttpPlatform → ExecutionPlatform