----------------------
Wasp applications are full-stack apps that consist of a Node.js server, a static client, and a PostgreSQL database. You can deploy each part anywhere where you can usually deploy Node.js apps or static apps. For example, you can deploy your client on Netlify, the server on Fly.io, and the database on Neon. Wasp also offers a single-command deployment through the Wasp CLI [^1^].
However, when it comes to handling CPU-intensive tasks, Wasp starts pg-boss alongside your web server's application, where both are simultaneously operational. This means that jobs running via pg-boss and the rest of the server logic (like Operations) share the CPU, therefore you should avoid running CPU-intensive tasks via jobs. Currently, Wasp does not support independent, horizontal scaling of pg-boss-only applications, nor starting them as separate workers/processes/threads [^5^].
As for Docker, there is an open issue on GitHub discussing the possibility of completely dockerizing Wasp apps. The idea is to have both the web app and server running in their own Docker containers, ensuring that they run in exactly the same way for all developers. However, this approach might disrupt the typical development flow and possibly slow it down. It might also be tricky getting it to work with the IDE of choice + debugger, possibly also live reloading of the web browser [^4^].
In conclusion, while Wasp does not currently support independent, horizontal scaling, you could potentially use Docker to manage your CPU-intensive tasks. However, this might introduce additional complexity and potential issues. It might be worth considering hosting these processes in a separate Docker container, scaling horizontally, and making requests to the containers as you suggested.