# Dash Julia: Processing Multiple Near-Simultaneous Requests

**URL:** https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106
**Category:** Web Stack
**Created:** [November 26, 2021, 11:39am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106 "2021-11-26T11:39:30Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![grahamstark](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/grahamstark/32/5200_2.png) [@grahamstark](https://discourse.julialang.org/u/grahamstark)
#### Post date: [November 26, 2021, 11:39am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/1 "2021-11-26T11:39:30Z")

</div>

Hi,

I have a [little simulation in Dash](https://stb.virtual-worlds.scot/scotbudg/) that takes ~20 seconds to run. Is there a trick that would allow the Dash app to run multiple requests simultaneously? From what I can see, Dash just queues up multiple requests and runs them serially on a single thread, regardless of how many threads Julia was started with. Am I missing something?

With earlier, lower-level prototypes it was easy to get simultaneous responses just by starting processes with @spawn/fetch but it’s not obvious to me how to do that with Dash.

Code for the Dash app is [here](https://github.com/grahamstark/Visualisations.jl).

This app is ultimately intended for classroom use, so I might expect 20-30 submissions within a few seconds.

thanks!

Graham

---

<div class="post-metadata">

### Author: ![yoh-meyers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yoh-meyers/32/14700_2.png) [@yoh-meyers](https://discourse.julialang.org/u/yoh-meyers)
#### Post date: [November 26, 2021, 11:51am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/2 "2021-11-26T11:51:30Z")

</div>

I believe Dash.jl uses HTTP.jl as web server. You would have to modify Dash.jl so that HTTP.jl is loaded on all Julia threads (assuming you launch Julia multi-threaded).

But seems over-kill for classroom use. Alternatively consider pre-calling endpoints, so that your code is pre-loaded.

---

<div class="post-metadata">

### Author: ![schienstockd](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schienstockd/32/38023_2.png) [@schienstockd](https://discourse.julialang.org/u/schienstockd)
#### Post date: [July 18, 2022, 4:19am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/3 "2022-07-18T04:19:06Z")

</div>

I am new to Julia, so maybe the question is a bit naive.

@yoh-meyers Just to clarify - it is not possible to use Julia’s threads in a Dash app? We currently have an R/shiny app designed for a single user that can start background tasks to processes data. We use `mcparallel` to fork processes. In a Dash app in Julia - these would still need to be separate (forked?) processes rather than threads?

I am just looking around whether it makes sense to port our R/shiny application to Julia instead.

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [July 18, 2022, 4:40am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/4 "2022-07-18T04:40:09Z")

</div>

This would be pretty easy to implement. You can `@spawn` new tasks onto other threads from a single threaded server easily.

---

<div class="post-metadata">

### Author: ![schienstockd](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schienstockd/32/38023_2.png) [@schienstockd](https://discourse.julialang.org/u/schienstockd)
#### Post date: [July 18, 2022, 6:29am UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/5 "2022-07-18T06:29:41Z")

</div>

That is actually quite easy - Thanks!

---

<div class="post-metadata">

### Author: ![Iulian.Cioarca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/iulian.cioarca/32/30166_2.png) [@Iulian.Cioarca](https://discourse.julialang.org/u/Iulian.Cioarca)
#### Post date: [November 25, 2022, 10:09pm UTC](https://discourse.julialang.org/t/dash-julia-processing-multiple-near-simultaneous-requests/72106/6 "2022-11-25T22:09:41Z")

</div>

It’s still unclear for me if Dash is capable of parallel requests. It’s no use in spawning multiple jobs inside a callback if you can’t direct each result to the specific requestor. How would HTTP play into this and how to make it work?
