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

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

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

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

облачно


person cloudy    schedule 28.10.2014    source источник
comment
Я также хотел бы знать, как это сделать. Я реализовал системную команду, которая выполняет pkill foo для процесса, связанного с кнопкой «Стоп», но это не сработало: веб-сайт не отвечал...   -  person 719016    schedule 29.10.2014


Ответы (2)


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

actionButton("button", "Cancel Operation")

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

person Crt    schedule 13.01.2016

В настоящее время, к сожалению, нет ответа.

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

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

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

person InfiniteFlash    schedule 11.02.2016