Package

com.criteo.cuttle.platforms

http

Permalink

package http

Allow to make HTTP calls in a managed way with rate limiting.

It uses lolhttp as HTTP client.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. http
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class HttpPlatform(maxConcurrentRequests: Int, rateLimits: Seq[(String, RateLimit)]) extends ExecutionPlatform with Product with Serializable

    Permalink

    Allow to make HTTP calls in a managed way with rate limiting.

    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.

Value Members

  1. object HttpPlatform extends Serializable

    Permalink

    Access to the HttpPlatform.

Inherited from AnyRef

Inherited from Any

Ungrouped