El proceso que disparo la actualizacion se tiene que estar corriendo en background y generando algun tipo de respuesta
El lado cliente tiene que ser capaz de recuperar dicha respuesta e interpretarla para mostrar una barra de progreso
Para el primer punto si el procesamiento lo realizas en el mismo componente en el cual cargas los datos es poco probable que lo puedas lanzar como un proceso aparte, por otro lado es posible que la configuracion del servidor tenga impacto en este caso ya que bien puede no dejarte crear procesos hijo que se sigan ejecutando.
Para el segundo punto deberias mediante una llamada ajax poder recuperar la marca que te indique que porcentaje del proceso se llevo a cabo y luego mostrar visualmente ese avance.
El tema es que esa consulta ajax no te pare el procesamiento de los datos y es por eso que necesitas abrirlo como un proceso extra.