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

com.qwlabs.tq.services.TaskQueueProcessContext Maven / Gradle / Ivy

There is a newer version: 0.2.354
Show newest version
package com.qwlabs.tq.services;

import com.google.common.collect.Sets;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;

import java.time.Duration;
import java.util.Set;

@Getter
@Builder
@AllArgsConstructor
public class TaskQueueProcessContext {
    @NotNull
    private final String topic;
    @Nullable
    private final String bucket;
    @Builder.Default
    @NotNull
    private final Duration timeout = Duration.ofHours(1);
    @Builder.Default
    @NotNull
    private final Set failedRecordIds = Sets.newHashSet();

    public void markFailedRecord(String recordId) {
        this.failedRecordIds.add(recordId);
    }

    public boolean shouldContinue(String recordId) {
        return !this.failedRecordIds.contains(recordId);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy