1

I am redploying an updated Shiny app after adding some more data. I get the error "Child Task 840897391 failed: Error parsing manifest: Manifest file count (6742) greater than maximum allowed (6000)".

I did the following

  • deleted rsconnect and deployed as a new Shiny app. Yet I get the same error.

How can I overcome this error?

Phil
  • 7,287
  • 3
  • 36
  • 66
Tinniam V. Ganesh
  • 1,979
  • 6
  • 26
  • 51
  • I've never seen that before. Do you knowingly have lots of files in the shiny app? Are you accidentally including any `./.git/` contents when you push? That could definitely push it over the edge. (For that, consider using `rsconnect::deployApp(..., appFiles=x)` where `x` is a manifest of the files you want included.) – r2evans Dec 15 '20 at 13:48
  • I removed hidden directory and files but still I get the error. Is it a limitation of Shiny or an error that I am doing. Unable to figure out. – Tinniam V. Ganesh Dec 16 '20 at 06:50
  • I've never heard of a limit of the number of files, but then again my largest app has 238 files (which is actually double what I expected in that app, so now I want to dive into it). It's easy for me to say something categorical like *"if you have that many files, perhaps a different data-store would be beneficial"*, but I don't know what your files are nor if there really is a better data-store mechanism. Suggestion: go to the shiny server apps directory (for this app, this version) and look at all of the files actually copied, find what surprises you. – r2evans Dec 16 '20 at 14:58
  • My app has around ~450 files, but I don't think that is the problem. An earlier version, was deployed, which had around ~370 files. Not sure what to look for really... – Tinniam V. Ganesh Dec 16 '20 at 16:12

1 Answers1

0

In case your application has a python virtual environment:

I took several hours to try deploying with virtualenv, cleaning unused packages, etc. However, it seems complicated to deploy a large number of files in a limited cloud (for the free plan in shiny app). I had this same error and what that could save my deploy was this workaround

  • write this in app.R (remember that these packages are just an example, edit for your own app - except for numpy, it is needed)

    reticulate::virtualenv_create("python35_env", python = "python3")
    reticulate::virtualenv_install("python35_env", packages = c("pandas", "requests", "numpy", "elasticsearch", "elasticsearch_dsl", "requests_aws4auth"))
    reticulate::use_virtualenv("python35_env", required = TRUE)
    reticulate::source_python("getdatafunction.py")
    
  • and write this in .Rprofile:

    # .RProfile
    Sys.setenv(RETICULATE_PYTHON = "~/.virtualenvs/python35_env/bin/python")


chagas98
  • 36
  • 3