Захват данных в callr после завершения процесса в блестящем

Мне было интересно, каким будет правильный способ получения данных после завершения процесса, а затем использовать эти данные, например, на графике? В идеале я хотел бы сохранить результаты в reactiveValues()или же reactive(). Это возможно?

репрекс:

      library(shiny)
library(callr)
library(ggplot2)

ui <- fluidPage(
  plotOutput("plot")
)

server <- function(input, output, session) {
  
  slow_function <- callr::r_bg(
    func = function() {
      Sys.sleep(2)
      mtcars
    },
    supervise = TRUE
  )
  
  output$plot <- renderPlot({
    req(!slow_function$is_alive())
    
    ggplot(slow_function$get_result(), aes(mpg, hp)) +
      geom_point()
  })
}

shinyApp(ui, server)

0 ответов

Другие вопросы по тегам