Redis List Trigger

Redis List Trigger

Certified

Batch trigger from a Redis list

Periodically pops list items in batches using LPOP (default batch size 100) until maxRecords or maxDuration is reached, then starts one Execution. Use RealtimeTrigger instead for per-message executions.

yaml
type: io.kestra.plugin.redis.list.Trigger
yaml
id: list_listen
namespace: company.team

tasks:
  - id: echo
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.uri }} containing {{ trigger.count }} lines"

triggers:
  - id: watch
    type: io.kestra.plugin.redis.list.Trigger
    url: redis://localhost:6379/0
    key: mytriggerkey
    maxRecords: 2
Installation

Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:

kestractl plugins get io.kestra.plugin:plugin-redis --compatible-for $KESTRA_VERSION

For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.

For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.

Properties

Redis list key

Rendered key passed to LPOP.

DefaultSTRING
Possible Values
STRINGJSON

Format of the data contained in Redis

Defaults to STRING. Controls how list elements are decoded. With JSON, an element that is not valid JSON is kept as a string and a warning is logged.

Redis connection string

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Default100

Batch size per evaluation

Defaults to 100.

DefaultPT1M
Formatduration

Interval between polling.

The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.

Maximum duration to poll

Soft cap evaluated each loop; required when maxRecords is not set.

Maximum rows to fetch

Soft cap evaluated each loop; required when maxDuration is not set.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Number of elements retrieved

Formaturi

URI of a Kestra internal storage file