Hello,
I'm very interested in using Dancer2's streaming and async capabilities, and have a number of questions about using Dancer2 asynchronously:
- Does the whole app have to be written to be asynchronous / non-blocking? (I assume so)
- Do all apps running from the same .psgi file have to be non-blocking? E.g. in app.psgi:
builder {
mount '/app1' => $nonblocking_app;
mount '/app2' => $blocking_app;
};
- Are hooks safe to use in a non-blocking Dancer2 app or do they introduce a blocking element?
- When I run the drums example in a browser (Safari), it waits until the entire drum loop has completed and then prints the content. Is that what is expected to happen? I expected the content to be written by the browser as it received it. The docs aren't very clear on what Dancer is actually doing under the hood -- it would be useful to have more explanation of what's going on. I'd be happy to write up something myself, but I don't know what's going on. ;-)
Thanks!
Amelia.