Closed pranjal-wego closed 9 months ago
Can the parent shoryuken process spawn child processes for each group?
It was not designed to spawn multiple processes. A single Shoryuken process won't spawn up child processes. But you can spin up multiple Shoryuken processes.
We're using the MRI Ruby Interpreter which uses a shared Global Interpreter Lock. Consequently, only one thread truly runs at any given time.
From what I have read through all the issues and in the codebase, my understanding is that all workers and their concurrencies are facilitated using Ruby threads and not processes. Due to this, our setup of 3 groups with one queue each is not able to utilise more than one core of CPU and is creating a performance bottleneck.
Is there any way that multiple group workers can run in their own processes rather than in their own threads, so that multiple cpu cores can be utilised for processing? Can the parent shoryuken process spawn child processes for each group?