A GenStage producer for Broadway that consumes messages from PgQue.
Options
:pool- Module implementingBroadwayPgQue.Pool(e.g.BroadwayPgQue.Pool.Postgrex,BroadwayPgQue.Pool.Ecto, or custom). The default value isnil.:pool_opts(keyword/0) - Keyword list of options passed to the pool module's init/1 callback. The default value is[].:repo- The Ecto.Repo module to use for database operations. The default value isnil.:conn- Direct Postgrex connection process PID or registered name (no Ecto required). The default value isnil.:connection_opts- Optional keyword list of Postgrex connection options to start a dedicated connection pool for this producer. The default value isnil.:pool_type- Connection pooling strategy::shared_repo(uses Ecto repo pool),:dedicated(spawns an isolated Postgrex worker), or:conn(direct PID). The default value is:shared_repo.:queue- Required. Name of the PgQue queue.:consumer- Name of the consumer registration. Defaults to"broadway_<queue>".:subconsumer- Name of the subconsumer for cooperative consumer groups (pgque.receive_coop). The default value isnil.:receive_mode- Receive mode::auto(uses:coopif:subconsumeris provided,:standardotherwise),:standard(pgque.receive), or:coop(pgque.receive_coop). The default value is:auto.:poll_interval(pos_integer/0) - Base polling interval in milliseconds when idle. The default value is1000.:max_poll_interval(pos_integer/0) - Maximum backoff interval in milliseconds. The default value is30000.:backoff_factor(float/0) - Exponential backoff multiplier applied when consecutive polls yield no messages. The default value is1.5.:max_batch_size(pos_integer/0) - Maximum number of messages fetched per poll. The default value is100.:ticker_max_lag(String.t/0) - Maximum lag interval for PgQue ticker responsiveness. The default value is"0.1 seconds".:history_tables- Number of partition tables in the queue ring-buffer (alias for:ntables, minimum 3). The default value isnil.:ntables- Number of partition tables in the queue ring-buffer (default 3). The default value isnil.:rotation_period- Interval for ring-buffer table rotation (e.g."2 hours","1 day"). The default value isnil.:query_timeout(timeout/0) - Query timeout in milliseconds for PgQue SQL operations. The default value is15000.:acknowledger(atom/0) - Broadway acknowledger module. The default value isBroadwayPgQue.Acknowledger.:on_failure- Default action for unhandled failed messages::dead(moves to DLQ),:retry(schedules retry with:default_retry_delay), or a custom callback. The default value is:dead.:default_retry_delay(pos_integer/0) - Default retry delay in seconds when retrying failed messages. The default value is60.:poll_type- Polling strategy when the queue is empty::fixed(keeps constantpoll_interval) or:adaptive(exponentially backs off viabackoff_factorup tomax_poll_interval). The default value is:fixed.:transformer- Callback to transform raw PgQue message maps intoBroadway.Messagestructs. The default value is{BroadwayPgQue.Producer, :transform, []}.
Instant Wake Up
When producers are in idle polling backoff, sending :wake_up to the producer process
will immediately reset its backoff timer and poll for messages.
Summary
Functions
Default transformer function that wraps a raw PgQue message map into a Broadway.Message.
Functions
Default transformer function that wraps a raw PgQue message map into a Broadway.Message.