R shiny: Как разрешить пользователям остановить процесс? И как остановить приложение из бэкэнда?

У меня есть блестящее приложение, которое позволяет пользователям загружать собственные данные и выполнять несколько задач. В зависимости от размера данных и типа задач, которые они хотели бы выполнять, иногда процесс становится длинным и даже длительным навсегда. Я хотел бы добавить функцию "stop", в которой пользователи могут щелкнуть по ней, и текущая задача остановится, и они смогут продолжить выполнение некоторых других задач. Как мне это сделать?

Мой второй вопрос связан с первым. Скажем, один из моих пользователей приложений развернул очень тяжелый процесс, и он сильно занял мой процессор, но сам пользователь не инициировал сигнал остановки. Я хотел бы наложить команду "тайм-аут", чтобы приложение автоматически прекратилось, скажем, через 5 минут. Как я могу настроить его?

Большое спасибо и наилучшие пожелания,

мутный

Ответы

Ответ 1

Я бы создал кнопку действия с меткой "Отмена", но при нажатии на нее будет перенаправляться на новую страницу.

actionButton("button", "Cancel Operation")

Что касается предела остановки процессора, я бы создал таймер для этой кнопки действий и когда он щелкнул по таймеру. Затем проверьте, прошел ли условный оператор (срок) перенаправление на новую страницу.

Ответ 2

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

https://groups.google.com/forum/#!topic/shiny-discuss/j9-NeG9v5ds

Джо говорит: "Это невозможно сейчас, но на прошлой неделе я бы сказал, что это никогда не будет возможно, тогда как теперь я могу подумать о возможности реализовать это, как только мы сделали следующий раунд изменений на httpuv Нет promises, хотя и пока я не могу придумать обходных решений.

Короче говоря, нет.