Concurrent report generation
-
We have the following setting:
"workers": { "numberOfWorkers": 8 }
JSReport version: 4.6.0-full
Driver: CheerioHowever, only one report is being generated, and all other requests are queued. Do you have any ideas on what else to check?
-
Hm, that needs to work...
Don't you have a web server/proxy upfront that could queue the calls?
Isn't it a client issue?
-
Requests to JSReport come from physically separate applications that don't "communicate" with each other, so at this stage, there is no queue. Requests go directly to JSReport, and there is no load balancer.
We’ve also noticed that if requests are made from different templates, they start "in parallel" without issues. Seems that only one report per report template is generated at a time.
-
That is strange. Try to go with problem isolation approach.
Run plain jsreport locally and send two parallel requests to same template.
Make some testing template withawait new Promise((resolve) => setTimeout(resolve, 10000))
in the helpers section so its obvious.If this render in parallel properly, try adding more complexity as your deployment has.