Progress bar only on sequential and multicore, missing on multisession and cluster
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- r
- Área
- distributed-systems
Línea de trabajo
Comienza con la reproducción del gist enlazado y compara progressr::handlers('debug') con planes secuenciales, multisession, multicore y cluster. Rastrea por qué las actualizaciones de progreso no se reciben en multisession/cluster y por qué multicore informa de actualizaciones después del cierre. Se considera terminado cuando un caso mínimo reproducible se comporta de forma coherente en todos los planes indicados, con salida de progreso y sin advertencias espurias.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have incorporated progressr progressor into a fairly complex R package that uses %dofuture% to split large objects across workers.
The progress bar shows up when called under plan(sequential) or, in Linux, under plan(multicore), but fails to show up with either multisession or cluster. This happens both in Linux and Windows, the later tested on a clean R 4.5.2 installation. After setting multisession, handlers('debug') also fails to print any messages.
Running the examples in the 'progressr' package works without problem, so there might be something in our packages that is affecting the progressor. But the fact of only failing under some plans puzzles me.
I have placed example code under this gist. I am afraid it requires installation of quite a few packages.
On multicore we are getting warnings about some progression updates not being listened to, but running with 'debug' did not clarify what is wrong
> plan(multicore, workers=2)
> tes <- mp(om, oem=oem, ctrl=control, args=list(iy=2021, fy=2026))
Running on 2 nodes.
[08:51:13.790] (0.000s => +0.014s) initiate: 0/6 (+0) '' {clear=TRUE, enabled=TRUE, status=}
[08:51:13.791] (0.001s => +0.013s) update: 1/6 (+1) 'year: 2021' {clear=TRUE, enabled=TRUE, status=}
[08:51:14.776] (0.986s => +0.017s) update: 2/6 (+1) 'year: 2022' {clear=TRUE, enabled=TRUE, status=}
[08:51:15.728] (1.939s => +0.016s) update: 3/6 (+1) 'year: 2023' {clear=TRUE, enabled=TRUE, status=}
[08:51:18.644] (4.854s => +0.004s) update: 4/6 (+1) 'year: 2024' {clear=TRUE, enabled=TRUE, status=}
[08:51:19.646] (5.856s => +0.013s) update: 5/6 (+1) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
[08:51:20.696] (6.906s => +0.001s) shutdown: 6/6 (+1) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
[08:51:20.697] (6.907s => +0.002s) shutdown: 6/6 (+0) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
Warning: The global progression handlers received a progression ‘update’ request (amount=1; msg=‘year: 2024’), but is no longer listening to this progressor. This can happen when code signals more progress updates than steps in the progressor. To troubleshoot this, retry with progressr::handlers("debug")
Warning: The global progression handlers received a progression ‘update’ request (amount=1; msg=‘year: 2025’), but is no longer listening to this progressor. This can happen when code signals more progress updates than steps in the progressor. To troubleshoot this, retry with progressr::handlers("debug")
It does not happen with 'sequential'
> plan(sequential)
tes <- mp(om, oem=oem, ctrl=control, args=list(iy=2021, fy=2026))
TRACKER: .Random.seed changed
> tes <- mp(om, oem=oem, ctrl=control, args=list(iy=2021, fy=2026))
[08:50:46.784] (0.000s => +0.013s) initiate: 0/6 (+0) '' {clear=TRUE, enabled=TRUE, status=}
[08:50:46.850] (0.066s => +0.065s) update: 1/6 (+1) 'year: 2021' {clear=TRUE, enabled=TRUE, status=}
[08:50:51.621] (4.837s => +0.001s) update: 2/6 (+1) 'year: 2022' {clear=TRUE, enabled=TRUE, status=}
[08:50:53.994] (7.210s => +0.001s) update: 3/6 (+1) 'year: 2023' {clear=TRUE, enabled=TRUE, status=}
[08:50:55.918] (9.133s => +0.001s) update: 4/6 (+1) 'year: 2024' {clear=TRUE, enabled=TRUE, status=}
[08:50:58.667] (11.883s => +0.000s) update: 5/6 (+1) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
[08:51:01.272] (14.487s => +0.000s) shutdown: 6/6 (+1) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
[08:51:01.272] (14.488s => +0.001s) shutdown: 6/6 (+0) 'year: 2025' {clear=TRUE, enabled=TRUE, status=}
Any suggestions on what to check?
- Lenguaje dominante
- R
- Estrellas
- 299
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de futureverse/progressr
-
feature request
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
futureverse/progressr#199 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
futureverse/progressr#197 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
futureverse/progressr#195 ·
-
question
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
futureverse/progressr#155 · 5 comentarios ·
-
documentation
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
futureverse/progressr#149 · 17 comentarios ·
Todos los issues de futureverse/progressr
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
mitchelloharawild/ggtime#39 ·
-
Add more snippets to R and JuliaAbiertoenhancement good first issue help wanted
Dificultad 2/5 Medio día Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
question
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Breaking 🏴☠️ Consistency :green_apple: :apple:
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
easystats/bayestestR#789 ·
Los mantenedores suelen responder en 1 día