Как заставить две реактивные функции работать независимо друг от друга? - PullRequest
0 голосов
/ 25 июня 2019

Я хочу, чтобы две функции на 2-х отдельных вкладках работали независимо, но сейчас нужно ждать завершения другой.

Я пишу блестящее приложение, которое имеет 2 вкладки, одна выполняет вычисления, которые обычнозанимает 5-10 минут, другой используется для запроса расчетов, которые были сделаны ранее.

ui <- navbarPage(

    tabPanel("New Input", 
             useShinyjs(),
    sidebarLayout(

        ...some input parameters...

        actionButton('submit', 'submit'),
        downloadButton('download', 'download'),
        verbatimTextOutput("output"),
      )
    ) 
  ), #end of new input tab
  tabPanel("Query", 
           textInput('query_existing', "Enter Query ID"),
           verbatimTextOutput('query_existing'),
           verbatimTextOutput('query_result'),
           actionButton('query', 'query'),
           ) #end of query tab 
)

сервер:

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

  #new input tab
  calculation <- eventReactive(input$submit, {
    #some calculation that writes a file
  })

  output$output <- renderText({calculation()})


  #Query Tab
  my_query <- eventReactive(input$query, {
    query_id <- input$query_existing
    query_file <- paste(query_id, 'zip', sep='.')
    if  (!file.exists(query_file)){
      return('not found')
    } else{
      return (query_file)
    }
  })
  output$query_result <- renderText({my_query()}) 

Проблема в том, что я не мог найти способ, чтобы они работали независимо.Прямо сейчас, если задание на вычисление отправлено, я не могу выполнить запрос, но должен ждать завершения расчета, даже если они должны быть независимыми.Как я могу решить это?

...