R / Shiny с будущей библиотекой: проверить разрешенный процесс - PullRequest
0 голосов
/ 07 марта 2019

Я использую библиотеку "future", чтобы ускорить время запуска моего блестящего приложения.

В скрипте global.R мне нужно загрузить несколько больших данных RDS.Поскольку я не хочу, чтобы пользователь ждал 1-2 минуты во время загрузки данных, я использую Future для перемещения загрузки данных на выделенное ядро:

global.R

...
library(future)
plan(multicore)
...

...
FDA_path <- file.path(data_path, "FDA")

# Load data
fda_data_path <- file.path(FDA_path, "fda_labels.RDS")
fda_filter_path <- file.path(FDA_path, "fda_filters.RDS")
fda_data_main %<-% readRDS(fda_data_path)
fda_filters_df %<-% readRDS(fda_filter_path)
...

Все работает гладко, и пользователь увидит, как приложение открывается через несколько секунд, пока данные загружаются в фоновом режиме.

Как только приложение появляется, пользователь по-прежнему не может использоватьданные, так как они загружаются, поэтому я хотел бы показать уведомление пользователю.Я пробовал это:

Server.R

fdaDataSearch <- reactive({
    if(!resolved(futureOf(fda_data_main))){
        showNotification("loading FDA data",type="warning")
    }
    fda_data_main %>% filter(id %in% fdaDataSearch_ids())
  })

Этот код используется для создания кадра данных, который отображается для пользователя.В соответствии с «будущей» документацией (https://cran.r -project.org / web / packages / future / vignettes / future-1-Overview.html ) функцию «разрешенные» можно использовать для отслеживания, если когдапроцесс заканчиваетсяТак что я хотел, чтобы при попытке пользователя сгенерировать фрейм данных, если процесс все еще выполняется, отображается уведомление.

Инструкция не работает, и я получаю сообщение об ошибке:

Предупреждение: ошибка в: Future_data_main ') не найден в среде' ':' fda_data_main '

Почему я получаю эту ошибку?Есть другой способ проверить, завершился ли процесс, и уведомить пользователя?

...