R: Представляем автоматизацию в блестящем приложении
Я хочу знать, как создать блестящее приложение, которое автоматически запускает функции в назначенное время. Я прочитал это, но это не похоже на мой случай.
Я создал функцию для обновления листа Google, используя пакет googlesheet
, Теперь интерфейс приложения выглядит следующим образом.
Нажатие кнопки "Обновление вручную" позволяет приложению запускать функции и обновлять таблицу Google.
Но я хочу, чтобы приложение запускало одну и ту же функцию каждый день в 13:00, даже не нажимая кнопку "Обновление вручную", пока кнопка "Активировать автоматическое обновление" включена.
Подводя итог, хочу знать
- способ автоматического выполнения функций в назначенное время в блестящем приложении.
- способ сохранения пользовательского ввода "Активировать автообновление". То есть, после того, как вы включите эту кнопку, даже если вы закроете это приложение и снова откроете его, оно останется включенным. После того, как вы выключите эту кнопку, она останется выключенной, пока пользователь не включит ее снова, даже если пользователь выключит приложение.
Буду признателен за любую помощь!
ui.R
navbarPage("Automated Report Generator", id = "nav",
tabPanel("ITM",
sidebarLayout(
sidebarPanel(materialSwitch(inputId = "activateAutoITM",
label = "Activate auto update",
status = "primary", right = FALSE),
actionButton("ITM_update", "Manually update"),
width = 2),
mainPanel(div(a("Visit ITM Google Sheet",
href = "https://docs.google.com/spreadsheets/d/#########",
target="_blank")),
div(htmlOutput("gsheet_text_ITM"))
)
) # sidebarLayout
)) # navbarPage
server.R
shinyServer(function(input, output, session) {
observeEvent(input$ITM_update, {
####### Here are the functions to update google sheet########
####### But I'll just omit because of the security#########
output$gsheet_text_ITM <- renderUI({
str1 <- paste("Calculation finised.")
HTML(paste(str1))
})
}) # shinyServer