Problema con la carga de imágenes

Hola,

Creo que esta corrección FIX: automatically timeout long running image magick commands (#12670) · discourse/discourse@5deda5e · GitHub ha roto la subida de múltiples imágenes. Si intento subir 3 imágenes de ~5-6 MB, no funciona; cada vez muestra este error. Creo que es debido al tiempo de espera de 20 segundos.

lib/discourse.rb:93:in 'exec': Se produjo un error al convertir de PNG a JPG.

Gracias :slight_smile:

¿Esto falla en este sitio? ¿Puedes intentar subir la imagen (siempre que sea apropiada para niños)?

Necesitamos un límite aquí; no podemos empujarlo mucho más allá de 20 segundos.

1 me gusta

Hola Sam,
La última vez que lo intenté también falló aquí, por eso lo categoricé como un error, pero ahora se ha subido. En mi sitio falla cada vez. Tamaño ~6 MB / foto

¡Ah, esto es complicado! Quiero depurar localmente. ¿Podrías subir una de las imágenes originales a algún lugar para que yo la descargue y pueda probar cuánto tardan los distintos comandos de ImageMagick?

Podría considerar agregar una configuración del sitio de “tiempo de espera más largo”, pero me preocupa un poco que convertir esta imagen simple de PNG a JPG esté tomando más de 10 segundos.

3 Me gusta

¡Gracias! He subido algunas imágenes a Mega File folder on MEGA

¿Puedes confirmar que estás utilizando una instalación estándar de Docker?

Acabo de probar una de tus imágenes anteriores; ejecutamos dos comandos dentro del contenedor:

timeout -k 10.0 5 identify -format %Q image.jpg

y

timeout -k 40.0 20 convert jpeg:original.jpg -auto-orient -background white -interlace none -flatten -quality 90 jpg:/tmp/target.jpg

El primer comando tarda 0,27 segundos de los 5 segundos asignados en mi sistema local.

El segundo comando tarda 1,3 segundos de los 20 segundos asignados.

¿Podrías contarme un poco más sobre tu instalación y el rendimiento específico del servidor en el que se está ejecutando?

1 me gusta

Gracias, Sam, por revisar esto. Sí, es una instalación estándar de Docker. Ayer actualicé el servidor porque el sitio web completo se volvía muy lento… y realicé una reconstrucción. Con la actualización del servidor, funciona bien. Acabo de probarlo ahora. Digital Ocean tiene un nuevo plan desde hace unos 2 meses con CPU Intel Premium, mientras que el que teníamos antes, Regular, se ha vuelto mucho más débil.

El servidor antiguo :arrow_down_small:
Basic - CPU compartida 2 vCPUs, 4 GB RAM, 60 GB almacenamiento

El nuevo servidor :arrow_down_small:
Basic - CPU compartida Premium Intel 2 vCPUs, 4 GB RAM, 60 GB almacenamiento

Perdón por este tema. 20 segundos han sido suficientes. ¡Y gracias de nuevo! :slightly_smiling_face:

1 me gusta

Sí, creo que estamos actuando correctamente aquí.

Si no establecemos un tiempo de espera, existe un alto riesgo de que estas instancias con recursos limitados sean saturadas por usuarios que suben imágenes. 20 segundos es una cantidad enorme de tiempo de CPU para dedicar al redimensionamiento de imágenes.

3 Me gusta

Este tema se cerró automáticamente después de 15 horas. Ya no se permiten nuevas respuestas.