Buenas,

Estoy intentando que al ejectuar un boton en shiny me cargue de manera 
asincrona dos consultas. Una es a una consulta sql pesada (tarda 10 segundos) y 
la otra es una sql ligera (tarda 0 segundos). Intento que el resultado de la 
consulta ligera se muestre mientras se espera al resulatdo de la consulta 
pesada, pero no lo consigo.

Estoy usando promises con future, en linux, pero no me funciona 🙁 , ya que me 
muestra el ersultado del proceso pesado y el ligero solo cuando se ha ejecutado 
ya el pesado.

Para simular las consultas, eh creado la funcion heavyFunction.... Aqui os 
pongo mi código. ¿Qué creeis que puede estar pasando? Lo curioso es que si os 
fijais en la consola, si que funciona bien.

library(future)
library(promises)
plan(multiprocess)

heavyFunction <- function(n){
  Sys.sleep(n)
  print(n)
}


ui <- fluidPage(
  actionButton("go","Show the data"),
  textOutput("result0sec"),
  textOutput("result10sec")

)

server <- function(input,output,session){


  data0 <- eventReactive(input$go,{
    heavyFunction(0)


  })

  data10 <- eventReactive(input$go,{
    future(heavyFunction(10))


  })
  output$result0sec <- renderText({
    data <- data0()
    print(data)
  })


  output$result10sec <- renderText({
    data <- data10()
    data%...>%print()
  })




}
shinyApp(ui,server)

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Reply via email to