Pull to refresh

Comments 5

При открытии тяжелых отчетов система может долго думать (секунд 5-15) пока запускается докер

Т. е. ShinyProxy на каждое открытие отчета запускает новый контейнер?


Исходник главного докера

(Почти) все RUN можно (и нужно!) собрать в один, соединив команды && — уменьшите количество слоёв и время запуска.

Да ShinyProxy при каждом открытии отчета запускает новый контейнер а потом его прибивает, если N секунд нет событий в отчете. Ну или мы его принудительно прибьем через 45 мин )

Да, так и стараемся делать помещая однотипные команды в один докер, просто по началу когда все тестировали и делали прототип системы на это не обращали внимание. А когда слоев стало чет слишком много тогда все однотипное в один докер и поместили.
а потом его прибивает

Думаю, надо покрутить heartbeat-rate, heartbeat-timeout, container-wait-time.


Ну или мы его принудительно прибьем

Не пробовали добавлять в образы HEALTHCHECK?


А когда слоев стало чет слишком много

Ну вот я и говорю, что нужно все команды, связанные с установкой пакетов и прочей ересью схлопнуть в один слой: Best practices for writing Dockerfiles

heartbeat-rate, heartbeat-timeout, container-wait-time крутили оно не особо помогло. контейнеры все равно терялись :(

Не пробовали добавлять в образы HEALTHCHECK?

Не пробовали, пасиб попробуем его глянуть

У некоторых пользователей при первом открытии отчета, иногда по неведомой причине, система может выдавать ошибку о том, что адрес не отвечает, т.к. докер контейнер не успел загрузиться, что конечного пользователя вводит в заблуждение. При повторном открытии отчета данная проблема пропадает.

Если все дочерние отчёты открываются из главного shiny приложения, то что бы такой ошибки не возникало можно прикрутить пакет future с асинхронным выполнением кода, который бы давал команду на запуск контейра и уже переносил пользователя по гиперссылке (или как вы это организуете), как только контейнер будет доступен.

Sign up to leave a comment.

Articles

Change theme settings