Hola,
Recientemente me convertí en el último administrador y mantenedor de una instancia básica de imagen Docker de Discourse que se instaló originalmente en nuestro servidor en 2021 (creo) y fue actualizada en su mayoría por otra persona. Desde hace algún tiempo, posiblemente desde el principio, hemos tenido un problema con las cargas de archivos de publicaciones eliminadas de forma suave que no se quedan huérfanas y se purgan, y he estado intentando solucionar este problema nuevamente durante unos días, ya que los archivos obsoletos se acumulan y desperdician espacio de almacenamiento. No usamos S3 y hay suficiente almacenamiento para las cargas que realmente queremos mantener disponibles.
He migrado el archivo de copia de seguridad completo de Discourse, incluidas las cargas, a un servidor de staging separado para realizar pruebas reconstruyendo con nuestro app.yml siguiendo las guías oficiales de instalación de Docker de Discourse y, después de eso, restaurando la copia de seguridad desde la línea de comandos. Ambas instalaciones parecen funcionar de manera idéntica sin otros problemas obvios, pero el problema de las cargas persiste.
No parece que encuentre errores relevantes en ningún registro y Sidekiq está ejecutando los trabajos de limpieza según lo programado. He ejecutado rake db:migrate en la versión de staging y reconstruido muchas veces, he intentado eliminar publicaciones permanentemente y he revisado la configuración. Después de eliminar permanentemente algunas publicaciones directamente desde la consola de Rails e intentar ejecutar el trabajo de limpieza manualmente, noté que el directorio de marcadores de tumba había crecido un poco en tamaño en algún momento y ya había algunos archivos al principio, por lo que el mecanismo debe haber estado funcionando en algunas situaciones, ¿verdad? A juzgar por el pequeño aumento de tamaño, casi todos los archivos obsoletos aún no se detectan como huérfanos.
Configuración actual relevante del panel de administración que se enumera a continuación. ¿Puedo establecer las últimas en 0 para omitir efectivamente los períodos de gracia durante las pruebas?
limpiar cargas = true
período de gracia de horas para cargas huérfanas = 1
días de período de gracia para purgar cargas eliminadas = 1
¿Cómo puedo solucionar esto de manera eficiente? Me siento cómodo con la línea de comandos, pero mis habilidades de base de datos son rudimentarias, por lo que realmente agradecería algunos consejos para evitar revisar cada detalle posible de la configuración del servidor sin tener idea de lo que estoy buscando en este momento.
He estado buscando y leyendo desesperadamente en este foro casos similares, pero solo hay unos pocos y esos hilos parecen detenerse en un callejón sin salida o en soluciones manuales para archivos individuales, por lo que no son directamente adecuados para este caso de uso.
Por favor, pídame más detalles si es necesario, estoy haciendo todo lo posible para resolver esto de una vez por todas.