-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
difference between operating Systems in a multisession shiny progressor #164
Comments
It's not clear to me if "half of ...", means the "first half" or "every second". There should be nothing causing a difference between Linux and MS Windows when using 'multisession' for parallelization. I adopted the library(shiny)
library(progressr)
library(future.apply)
plan(multisession, workers = 2)
app <- shinyApp(
ui = fluidPage(
plotOutput("plot")
),
server = function(input, output) {
output$plot <- renderPlot({
X <- 1:15
withProgressShiny(message = "Calculation in progress",
detail = "Starting ...",
value = 0, {
p <- progressor(along = X)
y <- future_lapply(X, FUN=function(x) {
Sys.sleep(2.0)
p(sprintf("x=%d", x))
})
})
plot(cars)
## Terminate the Shiny app
Sys.sleep(1.0)
stopApp(returnValue = invisible())
})
}
)
local({
oopts <- options(device.ask.default = FALSE)
on.exit(options(oopts))
if (interactive()) print(app)
}) When running this on Ubuntu 22.04 Linux with R 4.3.2, I clearly see 'x = 1' quickly followed by 'x = 8', then a bit of wait before 'x = 2' and 'x = 9' are reported. This continues with all numbers until 'x = 15' completes it. Do you see something different? > sessionInfo()
R version 4.3.2 (2023-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.3 LTS
Matrix products: default
BLAS: /home/henrik/shared/software/CBI/_ubuntu22_04/R-4.3.2-gcc11/lib/R/lib/libRblas.so
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
time zone: America/Los_Angeles
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] future.apply_1.11.0 future_1.33.0-9004 progressr_0.14.0
[4] shiny_1.8.0
loaded via a namespace (and not attached):
[1] cli_3.6.2 rlang_1.1.2 promises_1.2.1 textshaping_0.3.7
[5] jsonlite_1.8.8 xtable_1.8-6 listenv_0.9.0 htmltools_0.5.7
[9] httpuv_1.6.13 ragg_1.2.7 sass_0.4.8 jquerylib_0.1.4
[13] ellipsis_0.3.2 fastmap_1.1.1 lifecycle_1.0.4 memoise_2.0.1
[17] compiler_4.3.2 codetools_0.2-19 Rcpp_1.0.11 later_1.3.2
[21] systemfonts_1.0.5 digest_0.6.33 R6_2.5.1 parallelly_1.36.0
[25] parallel_4.3.2 magrittr_2.0.3 bslib_0.6.1 tools_4.3.2
[29] mime_0.12 globals_0.16.2 cachem_1.0.8 |
The following minimal code seems to works flawlessly with handlers("progress") both in linux and windows.
handler_shiny only seems to work in parallel with a windows os.
The linux shiny app only shows half of the progress steps in a sequential order.
Any advice?
The text was updated successfully, but these errors were encountered: