All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.kestra.plugin.nats.ConsumeInterface Maven / Gradle / Ivy

Go to download

Kestra's NATS Plugin enables high-performance communication in distributed systems for enhanced workflow management and seamless messaging.

There is a newer version: 0.20.0
Show newest version
package io.kestra.plugin.nats;

import io.kestra.core.models.annotations.PluginProperty;
import io.nats.client.api.DeliverPolicy;
import io.swagger.v3.oas.annotations.media.Schema;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.time.Duration;

public interface ConsumeInterface {

    @Schema(
        title = "The max number of rows to fetch before stopping"
    )
    @PluginProperty
    Integer getMaxRecords();

    @Schema(
        title = "The max duration before stopping the message polling",
        description = "It's not an hard limit and is evaluated every second"
    )
    @PluginProperty
    Duration getMaxDuration();

    @Schema(
        title = "Polling duration before processing message",
        description = "If no messages are available, define the max duration to wait for new messages"
    )
    @PluginProperty
    @NotNull
    Duration getPollDuration();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy