Shiny-Server에서 실행할 때 R Shiny DataTable의 큰 테이블에 문제가 있습니다. 렌더링 후에 페이지가 "다시 연결하려고 시도 중"으로 깜박 인 다음 결국 시간 초과되어 연결이 끊어집니다. 이 문제는 Shiny-Server에 게시 할 때 발생하지만 shiny::runApp()
으로 로컬에서 시작할 때 발생합니다.Shiny DataTable은 Shiny-Server의 대용량 테이블에 대한 연결을 잃었지만 로컬 RunApp에서는 연결이 끊어졌습니다.
결과가 3 열인 500,000 개의 레코드를 테스트하면 문제가 발생합니다. 작은 테이블에서는 잘 작동합니다.
DT::
패키지로 문제를 격리했습니다. dataTableOutput
및 renderDataTable
에 shiny::
을 사용하면 정상적으로 작동합니다. 그러나 DT가 제공하는 모든 유용한 기능을 놓치고 있습니다. 문제가 발생하면 DataTable의 필터링 메커니즘이 여전히 작동하고 서버에서 처리되지만 다른 반짝이는 기능은 작동하지 않습니다.
library(shiny)
df <- data.frame(num = rep(c(1,2,3,4,5,6,7,8,9,0), times=50000),
letters = rep(letters[1:10], times=50000),
colA = rep(c("apple","orange","pear","grape","onion"), times=100000))
ui <- navbarPage("DataTable test", id="nav",
tabPanel("Define Subset",
# Present Datatable
fluidRow(DT::dataTableOutput("mdu_subset_table"), style = "font-size: 85%; width: 100%")
),
tags$head(
includeCSS("styles.css")
)
)
server <- function(input, output, session) {
# session$allowReconnect(TRUE)
output$mdu_subset_table <- DT::renderDataTable(
{df}
, filter="top"
, options = list(sDom = '<"top">lrt<"bottom">ip',
lengthMenu = c(100,1000)
)
)
}
shinyApp(ui, server)
반짝 서버에 R 버전은 다음과 같습니다 : - "하나의 촛불"
R 버전 3.4.1 (2017년 6월 30일)
아래 코드는 오류를 재현 할 수 있습니다 로컬 및 반짝이는 서버에 설치된 라이브러리는 동일합니다.
오류가 반짝 서버의 R 콘솔 로그에 표시되지 않습니다 다음 output$mdu_subset_table
귀하의 질문에 불완전
su: ignore --preserve-environment, it's mutually exclusive to --login.
Listening on http://127.0.0.1:43761
~
~
~
~
~
, 내 첫번째 생각은 테이블에 * 서버 측 * 처리를 사용하는 것입니다. [here] (http://rstudio.github.io/DT/server.html)를 보면, render 문에'server = TRUE'를 추가하는 것만 큼 간단 할 수 있습니다. 그러나 이는 네트워크 대기 시간이나 관련성을 제시하기 때문에 실제로 문제가 해결되거나되지 않을 수도 있습니다. –
Thanks @KevinArseneau. 서버 측 처리는 기본적으로 사용되며이 예제에서 사용되고 있습니다. 클라이언트 측 처리를 사용하면 테이블에 대한 직접적인 오류 메시지가 너무 커집니다. –