we have been using ruote for almost two years now, and still big fans of it !
In our current setup, we have a dedicated engine (postgres storage) for our each of our client projects, i.e. each project has its own engine table and its own pool of ruby worker processes.
But as the number of client projects increases, this becomes to expensive.
So we want to share workers between different, independent projects. (each project has a set of process definitions and a set of storage- and block participants). We managed to implement this by prefixing both process definitions and participants with the project name. Works, but not optimal.
Is there a better way? Using multiple engine-id's looks the way to go, but it is not clear to me if a single worker can serve multiple engines?
Thank you and kind regards,