fix: ensure tasks redistribution avoid task execution starvation