Our new boilerplate dash app supporting Celery (show and tell)

Hi folks. We’ve completely updated our Wiley boilerplate dash app to take advantage of the new features of Dash Deployment Server.

Key features include:

  • Execution of long-running tasks on a Redis database via Celery (no more server timeouts or flashing screens!)
  • Display/interrogate results using DataTable
  • Download results in Excel format via Amazon S3
  • Verbose logging in the Terminal to help learning and debugging

Even with the extra features, it should still be possible to drop in your own query code from a Jupyter Notebook, for example, with minimal modifications to the plumbing of the app itself. Just design a new query form and figure out how you want to display the results. Everything else should look after itself. See the readme for details.

As always we’re happy to hear your comments and suggestions for improvement!

6 Likes

Hey There!

Thanks again for this post!
I have a bit of a basic question - how do you recommend one populates the the environment with the variables such as the plotly username etc?

Additionally, if I intend to deploy this on my own personal server and not the deployment server can I omit any of the aforementioned variables?

HI, I’m trying to utilize this template in a windows machine but one of the packages is not available for windows. Do you know of any work arounds?

Thanks!

Hi there. Sounds like a classic Python gotcha. The only workaround I can suggest is set up a dual-boot on your computer with Ubuntu, and do all your Python development on that. Because of the different dependencies on operating systems we eventually moved all our development work to cloud-based servers running Ubuntu. Now everyone has the same problems instead of different problems! Sorry I don’t have any better suggestions at the moment. All the best!

Adam, thank you for the quick reply.

I’ve setup WSL2 to run Ubuntu on windows. I’ve been able to run the app on heroku local without any errors but I cannot reach the site. Any ideas?

Also, is an enterprise account needed to run this?
where can I find the following:
PLOTLY_DOMAIN=your-plotly-domain
PLOTLY_API_DOMAIN=your-plotly-api-domain
DASH_DOMAIN_BASE=your-dash-domain-base

image

We were deploying using the Dash deployment server on Plotly-on-Premises (I think it’s the same as Plotly Enterprise) so I’ve never tested on Heroku. Those environment variables do need to be set, although I’m not sure what your dash_domain_base will be if you’re using Heroku. Tbh we haven’t worked with this boilerplate for a while now since we started using Voila, so I’m a bit rusty.

1 Like

@adamstimb Is it also solve the problem of “Memory Quota Exceeded” (on Heroku)?