run job process in a separate thread to keep channel alive