Search code examples
herokuoptaplanner

How can I use multiple dynos for an Optaplanner process on Heroku?


I'm running an Optaplanner application on Heroku with:

<moveThreadCount>AUTO</moveThreadCount><!-- To solve faster by saturating multiple CPU cores -->

in the config.xml

But the dyno load report never shows more than a single dyno being used to solve. Is it possible to use multiple dynos for a single Solver instance?


Solution

  • moveThreadCount refers to how many threads the solver will use on a single machine, and if set to AUTO, it will use as many cores as are available to the JVM with the upper bound of 4.

    OptaPlanner does not (yet) support horizontal scaling across the cloud. The orchestration for that would have to be hand-rolled.