ExAirtable.RateLimiter (ExAirtable v0.1.0) View Source

The purpose of the RateLimiter is to serve as a GenStage "Consumer" for the BaseQueues.

Requests that are meant to go to Airtable are sent to the appropriate BaseQueue (one per base, shared among all Tables), and put in line for the RateLimiter to execute as it's able.

Link to this section Summary

Functions

Pass a list of valid module names where the given modules have implemented the ExAirtable.Table behaviour.

Link to this section Functions

Link to this function

handle_cancel(_, from, producers)

View Source

Callback implementation for GenStage.handle_cancel/3.

Link to this function

handle_events(events, from, producers)

View Source

Callback implementation for GenStage.handle_events/3.

Link to this function

handle_info(arg, producers)

View Source

Callback implementation for GenStage.handle_info/2.

Link to this function

handle_subscribe(atom, opts, from, producers)

View Source

Callback implementation for GenStage.handle_subscribe/4.

Pass a list of valid module names where the given modules have implemented the ExAirtable.Table behaviour.

Internal state is a map of %Producer{} structs where the key is the module name of the producer.

Link to this function

start_link(table_modules)

View Source