Я тестирую памятку для кэширования большого кадра данных в блестящем приложении R. Он прекрасно работает на моей локальной windows машине, но как только я развернул код на Linux сервере, каким-то образом кажется, что memoise ничего не делает, и каждый раз, когда я пытаюсь вызвать функцию memoise, это занимает всегда. нагрузить. Отсюда мой вопрос: есть ли конкретная настройка c, которую мне нужно изменить, чтобы эффективно работать на linux сервере? Пример кода (реальный код загружает фрейм данных из базы данных и обрабатывает данные):
ui <- dashboardPage( # https://rstudio.github.io/shinydashboard/structure.html
title = "Dashboard",
dashboardHeader(title = "Angelo's Board"),
dashboardSidebar( # inside here everything that is displayed on the left hand side
includeCSS("www/styles.css"),
sidebarMenu(
menuItem('menu 1', tabName = "menu1", icon = icon("th"),
menuItem('Data 1', tabName = 'tab_data1'))
)),
dashboardBody(
tabItems(
tabItem(tabName = 'tab_data1')),
h3("Page with big table"),
fluidRow(dataTableOutput("main_table"))
))
server <- function(input, output, session) {
func_create_df <- function(){
df <- data.frame(names = c("Mark","George","Mary"), age = c(30,40,35))
df
}
func_create_df_mem <- memoise(func_create_df, ~timeout(1))
output$main_tabl <- renderDataTable({
df <- func_create_df_mem()
})
}
cat("\nLaunching 'shinyApp' ....")
shinyApp(ui, server)
В качестве побочного, менее важного вопроса, кажется, здесь описана функция тайм-аута (https://blog.rstudio.com/2016/02/02/memoise-1-0-0/) тоже ничего не делает.