worker select algo