Once I worked on a feature that use API like sending emails from my app, I write the code inside the django app.
My superior told me that causes request to block, so another request will be blocked until the process of calling the API finished and response sent to user.
He suggest that this process better off offloaded to celery.
I thought this can be solved by using multiple worker as in gunicorn, so another client can be served by another worker if there's available.
but, both he and I don't have a clue if above (solved by creating multiple worker) is true.
so, does it mean by blocking, it only blocks a single process/worker? or do all worker have to wait?
and what is another possible blocking request scenario? generating pdf? long calculation?
in addition, where can I read about blocking request in django? I searched but, really hard to find one