Я новичок в shiny и пытаюсь создать монитор папок на основе ответа @jdharrison на Используйте reactivePoll для накопления данных для вывода
Функция f1 или check, похоже на валидатор. Как только он дает какие-либо результаты, он запускает f2, истинный игрок. Затем мы визуализируем результат.
Во время выполнения образца игрушки f1 создает файлы, но не дает результата перечисления всех файлов, как ожидалось.
кстати, код работает на ubuntu, и файлы сохраняются в подкаталоге с именем temp
Где я go ошибся?
Хотел бы получить ваш совет.
runApp(
list(
ui =
mainPanel(
tableOutput("DT")
),
server =
function(input, output, session) {
# f1 as a tempfile creater. Once it is called. it creates a txt
f1 <- function() system(paste0("touch ", tempfile(tmpdir = "./temp", fileext = "txt")))
# f2 list all the files
f2 <- function(){
list.files("temp", full.names = T)
}
data <- reactivePoll(5000, session, f1, f2)
output$DT <- renderTable(data())
}
)
)
Спасибо за предложение @TonioLiebrand. Функция проверки f1 - это в точности то, что она есть, функция проверки. Я сохраню сообщение здесь, возможно, когда-нибудь он кому-то поможет.
runApp(
list(
ui =
mainPanel(
DTOutput("DT")
),
server =
function(input, output, session) {
f1 <- function() {
system(paste0("touch ", tempfile(tmpdir = "./temp", fileext = "txt")))
file.info(list.files("temp", full.names = T))["mtime"]
}
f2 <- function(){
list.files("temp", full.names = T) %>% as.matrix()
}
data <- reactivePoll(5000, session, f1, f2)
output$DT <- renderDT({datatable(data())})
}
)
)