Packages

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.

Linear Supertypes
Serializable, Serializable, Product, Equals, ExecutionPlatform, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpPlatform
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ExecutionPlatform
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HttpPlatform(maxConcurrentRequests: Int, rateLimits: Seq[(String, RateLimit)])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  9. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  10. val maxConcurrentRequests: Int
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  14. 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
  15. 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
    HttpPlatformExecutionPlatform
  16. val rateLimits: Seq[(String, RateLimit)]
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. 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
    HttpPlatformExecutionPlatform

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ExecutionPlatform

Inherited from AnyRef

Inherited from Any

Ungrouped