namespace JiShe.CollectBus.Kafka.Attributes;
[AttributeUsage(AttributeTargets.Method)]
public class KafkaSubscribeAttribute : Attribute
{
///
/// 订阅主题
///
///
public KafkaSubscribeAttribute(string topic)
{
Topic = topic;
}
///
/// 订阅主题
///
public KafkaSubscribeAttribute(string topic, int partition)
{
Topic = topic;
Partition = partition;
}
///
/// 订阅的主题
///
public string Topic { get; set; } = null!;
///
/// 分区
///
public int Partition { get; set; } = -1;
///
/// 消费者组
///
public string? GroupId { get; set; } = null; //"default"
///
/// 任务数(默认是多少个分区多少个任务)
/// 如设置订阅指定Partition则任务数始终为1
///
public int TaskCount { get; set; } = -1;
///
/// 批量处理数量
///
public int BatchSize { get; set; } = 100;
///
/// 是否启用批量处理
///
public bool EnableBatch { get; set; } = false;
///
/// 批次超时时间
/// 格式:("00:05:00")
///
public TimeSpan? BatchTimeout { get; set; } = null;
}