It depends on how you want to get the screenshots back to the user.
Once I had plone.app.async in place for eea.pdf I also used it for a custom add'on where we implemented highcharts graphs as a custom content type. We also needed the charts as an SVG and highcharts offered a separate highcharts export server which you can feed a chart json definition and then receive svg/png/pdf.
This way your timeouts and waiting is done in the async task on the zope worker process, not in the zope instance where you fired the original request and want to deliver a response to the user.
eea.pdf generates a pdf of content-item(s) in the background, stores the pdf in a separate filesystem location (using eea.download) and then sends the user who requested the PDF an e-mail with a download link to the generated PDF file. (retrievable in Plone through eea.download views).