I have one shiny app that I need to scale up. It runs a 2 minute simulation, and the website becomes inaccessible to other users while it runs the simulation. I was hoping shinyproxy could remedy this.
The issue is that I want this app to operate as a website that anyone can visit. As such, my authentication is set to none. Thus, only one container is opening each time someone visits the website since shinyproxy thinks there is only one user (I think), which makes the app run very slowly. For example, if two users try to run a simulation at the same time, it takes 12 minutes for both.
My question is: how can I scale this up within shinyproxy? It seems like
container-cpu-limit might be the answer, but I’ve modified my yml and it is still takes 12 minutes for both users.
Am I using this incorrectly? Or, is this something that can’t be done in shinyproxy (and if so, should I use something else like docker swarm instead)?
This is my yml:
title: Dynamic Fit port: 8080 landing-page: /app/updates authentication: none container-backend: docker docker: url: http://localhost:2375 container-memory-request: 200M container-memory-limit: 500M container-cpu-limit: .1 hide-navbar: true specs: - id: updates display-name: Dynamic Fit container-cmd: ["R", "-e", "rmarkdown::run('/srv/shiny-server/app/Updates.Rmd', shiny_args = list(port = 3838, host = '0.0.0.0'))"] container-image: myappb port: 3838 logging: file: shinyproxy.log