It was used for prerender [1] for some time, before being changed so that clustering happened at the HTTP worker level.
Scaling PhantomJS is no walk in the park. There's a lot of duct tape to get it to communicate with node.js, and it's easy for a memory leak to occur.
using it inside node is just masochism.
phantomjs: https://github.com/ariya/phantomjs/commits/master
phantomjs-node: https://github.com/sgentle/phantomjs-node/commits/master
phantomjs-node: Popular but badly structured and documented. Many small ignored issues.
Also the development update Twitter stream @PhantomJS is not very active.
I'd love to use PhantomJS for taking screenshots of designs supplied by third-parties to us, and changing the CSS involved by hand is not a realistic option.
The issue itself appears to be nearly 2 years old:
https://github.com/ariya/phantomjs/issues/10592
And PhantomJS's core developers appear to be putting off the fix until version 2 is released, whenever that may be:
https://github.com/ariya/phantomjs/pull/12108
Any ideas? I'm currently investigating using SlimerJS, which uses the Gecko engine, but that involves its own different set of challenges.
I'm curious what exactly "render" means in your context? Phantom.js is headless, so it would be futile to be simply rendering GIFs and JPGs within the browser I assume?