R shiny 服务器与 url 参数断开连接

R shiny server disconnect with url parameters

我是 运行 AWS 上的闪亮服务器,并尝试根据用户输入设置 url 查询参数,并允许将 url 转发给其他人。下面的简化示例用于从复选框和滑块输入中检索值,并在单击提交按钮时将它们推送到 url 字符串,例如url:port?param1=1,2,3,4¶m2=0,100

我一开始也可以直接去 url:port?param1=1,2,3,4¶m2=0,100(模拟用户转发 url 给其他人),但是,一旦有一段时间已通过,此 link returns 一个 "disconnected from server" 服务器灰屏,日志状态 "Error getting worker: Error: The application exited during initialization."。

似乎服务器休眠了,只有我先去基地url,然后再访问包含参数的url,才会恢复。有没有办法以这种方式共享 url 并绕过首先需要访问基地 url?

# Load required libraries.
library(shiny)

# Shiny ui.
ui <- shinyUI(
  fillPage(

    # Add filter controls.
    absolutePanel(
       style='overflow-y:scroll; border-bottom: 1px solid #CCC; padding: 10px; background: #F5F5F5;',
       fixed = TRUE,
       draggable = FALSE, 
       top = 0,
       right = 0,
       bottom=0,
       left=0,
       width = '100%',
       actionButton('submit', 'Submit'),
       checkboxGroupInput('input1', 'Input 1', c(1,2,3,4), c(1,2,3,4)),
       sliderInput('input2', 'Input 2', min=0, max=100, value=c(0,100), step=10),
       verbatimTextOutput("output1", TRUE),
       verbatimTextOutput("output2", TRUE)
    )
  )
)

# Shiny server.
server <- function(input, output, session){

  # Observer to read url query string.
  observe({
    query <- parseQueryString(session$clientData$url_search)
    param1 <- query$param1
    param2 <- query$param2
    output$output1 <- renderText(as.character(param1))
    output$output2 <- renderText(as.character(param2))
  })

  # Observer for button click.
  observeEvent(input$submit, {
    param1 <- paste(input$input1, collapse=',')
    param2 <- paste(input$input2, collapse=',')
    string <- paste0('?param1=', param1, '&param2=', param2)
    updateQueryString(string, mode = 'push')
  })
}

# Run app.
shinyApp(ui, server)

原来问题不是我想的那样,在其他地方发布 link 已将 & 转换为 HTML 符号,使查询字符串无效并导致应用程序失败。