Class: ActiveJob::Temporal::Activities::RateLimitActivity
- Inherits:
-
Temporalio::Activity::Definition
- Object
- Temporalio::Activity::Definition
- ActiveJob::Temporal::Activities::RateLimitActivity
- Defined in:
- lib/activejob/temporal/activities/rate_limit_activity.rb
Overview
Activity wrapper around user-configured rate limiter I/O.
Instance Method Summary collapse
Instance Method Details
#execute(payload) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/activejob/temporal/activities/rate_limit_activity.rb', line 10 def execute(payload) rate_limits = payload[:rate_limits] || payload["rate_limits"] return 0.0 if Array(rate_limits).empty? limiter = ActiveJob::Temporal.config.rate_limiter raise ConfigurationError, "rate_limiter is required when rate limits are configured" unless limiter normalize_wait_time(call_limiter(limiter, rate_limits)) end |