Class/Object

com.criteo.cuttle.platforms.http

HttpPlatform

Related Docs: object HttpPlatform | package http

Permalink

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)])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  8. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  9. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  10. val maxConcurrentRequests: Int

    Permalink
  11. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  13. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. def privateRoutes: AuthenticatedService

    Permalink

    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

    Permalink

    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)]

    Permalink
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. def waiting: Set[Execution[_]]

    Permalink

    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