Do background work in queue so the channels won't block