Моя организация запускает приложения Shiny на сервере, который извлекает файлы app.R из каталога. Когда я захожу на внутренний сайт для каталога, я получаю сообщение об ошибке: «Произошла ошибка. Не удалось запустить приложение. Приложение слишком долго не отвечало».
Запускается локально, а также копируется/вставляется из новой папки в другой каталог. К сожалению, не могу предоставить воспроизводимый пример, извините.
В данном случае это не имеет ничего общего с блеском.
Я бы на вашем месте проверил, не сделаны ли какие-нибудь барьеры безопасности компанией для защиты своих файлов. Я совершенно уверен, что это проблема, и вы должны запросить или запросить разрешения на доступ от блестящего к этому каталогу.
--------- UPDATES for comments ---------
Если вы пробовали точно такое же приложение в другом каталоге, и оно работало хорошо, тогда точно проблема с каталогом и не блестит. Скорее всего, это должно быть с правами доступа, контролируемыми администратором ИС. Так что да, ваше понимание верно!
Во избежание проблем в будущем держите все как можно больше внутри пользовательского интерфейса и сервера и избегайте внешней обработки, если можете. ИМХО это плохая практика.
Если вы попробовали то же самое приложение с другим каталогом, и оно работало хорошо, то это определенно проблема с каталогом, а не с блеском. Скорее всего, это должно быть с правами доступа, контролируемыми администратором ИС. Так что да, ваше понимание верно!
Кстати, такое случилось со мной однажды в компании!
Внес изменения в приложение — оно тянуло большой объем данных. Прежде чем мы заставили его извлекать данные до того, как пользовательский интерфейс и сервер были инициализированы. Мы изменили его, чтобы данные извлекались реактивно внутри серверной функции. Ускорена инициализация приложения, несмотря на то, что данные все еще извлекались. Звучит так, как будто это имеет смысл, или нам просто повезло?
Ах! тогда вы не запускали свой код обычным способом. Почему ваши данные извлекаются перед инициализацией пользовательского интерфейса или сервера? у вас было что-то за пределами пользовательского интерфейса и серверных блоков? Мне трудно сказать в этом случае. Вот почему хорошо предоставить воспроизводимый пример вашего кода!
Да, точно. Код для извлечения данных находился вне пользовательского интерфейса и «функции» сервера, поэтому он создавал именованный объект вне пользовательского интерфейса и сервера, на который затем можно было ссылаться и управлять им внутри. Как вы понимаете, я новичок в блестках. Лучше ли извлекать данные внутри функции сервера?
Я тоже это сделал. Мы все были там когда-то. Я помню, что у меня то же самое, и я решил никогда ничего не делать вне интерфейса или сервера. Моя рекомендация: во избежание каких-либо проблем в будущем держите все как можно больше внутри и избегайте внешней обработки, если можете. ИМХО это плохая практика.
Обновления добавлены в ответ
Спасибо за ответ! Итак, чтобы проверить, правильно ли я понимаю: если тот же самый скрипт R Shiny создает рабочее приложение из одного каталога, но время ожидания истекает в другом каталоге, скорее всего, это проблема с разрешениями?