pipeline blocking bugfix

This commit is contained in:
ialbert 2025-11-11 14:02:14 +03:00
parent b487fc832f
commit bf693c3fbc
3 changed files with 2 additions and 26 deletions

View file

@ -1,23 +0,0 @@
package ru.nbch.credit_tracker.service.task;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
public class BlockingRejectedExecutionHandler implements RejectedExecutionHandler {
public static RejectedExecutionHandler INSTANCE = new BlockingRejectedExecutionHandler();
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor exec) {
try {
if (exec.isShutdown()) {
throw new RejectedExecutionException("Executor is shut down");
}
exec.getQueue().put(r);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RejectedExecutionException("Interrupted while enqueueing task", e);
}
}
}

View file

@ -41,7 +41,7 @@ public class Stage<X extends StagePayload, Z extends StagePayload> implements Ru
t.setName("pipe-handler-%s-%d".formatted(dispatcher.getClass().getSimpleName(), t.threadId()));
return t;
},
BlockingRejectedExecutionHandler.INSTANCE
new ThreadPoolExecutor.CallerRunsPolicy()
);
this.POISON = POISON;
}

View file

@ -22,7 +22,6 @@ import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper;
import ru.nbch.credit_tracker.model.SubjectProfile;
import ru.nbch.credit_tracker.model.impl.SubjectPayload;
import ru.nbch.credit_tracker.service.indic.FlagsService2;
import ru.nbch.credit_tracker.service.task.BlockingRejectedExecutionHandler;
@Slf4j
@Service
@ -49,7 +48,7 @@ public class FlagsEnricherV2 implements Consumer<SubjectPayload> {
t.setName("flags-enricher-%d".formatted(t.threadId()));
return t;
},
BlockingRejectedExecutionHandler.INSTANCE
new ThreadPoolExecutor.CallerRunsPolicy()
);
}