Panel dashboard, heroku, and rq worker - serialize a panel object?

Hello,

I built a dashboard using panels and put it online using heroku following the panel documentation. Thanks! This ecosystem is really cool.

Now the tricky part: my dashboard builds a set of four quadmesh plots per model output variable, and I want to show six variables. I find that more than three sets of plots takes more than 30 seconds to render, causing heroku to time out.

So I moved the creation of each panel into a worker dyno as suggested by heroku. So far so good, until the worker tries to return my panel object… Then I get the string “unpickleable return value” back from the worker.

I can successfully return and display an arbitrary string from the function sent out to the worker, so I know the worker can communicate with the dashboard.

Is there a way to expcitly serialize a panel object for the worker’s return value? I’ve tried the pickle and json packages with no luck.

Or do I need to fundamentally restructure this setup? Has anyone had any luck using Heroku worker dynos to create panel objects?