El panel de registro deja de actualizarse durante la actualización.

Actualizando solo dos foros a la versión 2.7.0.beta6. Uno de ellos se actualizó sin problemas, primero el gestor de Docker y luego Discourse. El otro, que también requería una actualización del explorador de datos, presentó un problema: el panel de registro se detuvo dos veces durante la actualización final del propio Discourse. En ambas ocasiones, el proceso se quedó en:

Waiting for Unicorn to reload...........

una vez al principio y otra al final, después de haber refrescado la pestaña del navegador.

La detención al final mostró 11 líneas de “Waiting” antes de detenerse.

Done compiling CSS: 2021-04-08 12:54:13 UTC
Restarting unicorn pid: 49
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Waiting for Unicorn to reload........
Waiting for Unicorn to reload.........
Waiting for Unicorn to reload..........
Waiting for Unicorn to reload...........

La detención al principio ocurrió con un número similar de líneas.

Pude monitorear los procesos mediante la página de Procesos en otra pestaña y pude ver que se estaba avanzando.

La actualización fue exitosa; tras refrescar, pude ver y revisar todo el registro, pero fue desconcertante y quizás engañoso que el panel de registro dejara de actualizarse.

No hay nada que reportar desde la consola de JavaScript.

Ah, después de mucho tiempo, veo algo en la consola de JS (esto es Chrome en Mac)

[Violation] 'setTimeout' handler took 64ms

con un enlace a la línea 5211 de docker-manager-vendor-970…js, es decir, /assets/docker-manager-vendor-9709990270a4ade37544c98dda3cfad18f77cdf6cd433291c3c5ef7bd25cb50d.js, que se ve así:

try{r||n?t=s.minPollInterval:(t=s.callbackInterval,o>2?t*=o:a()||(t=s.backgroundCallbackInterval),t>s.maxPollInterval&&(t=s.maxPollInterval),(t-=new Date-w)<100&&(t=100))}catch(i){console.log&&i.message&&console.log("MESSAGE BUS FAIL: "+i.message)}d&&(clearTimeout(d),d=null),u&&(d=setTimeout((function(){d=null,e()}),t)),s.longPoll=null}})}},s={minHiddenPollInterval:1500,enableChunkedEncoding:!0,enableLongPolling:!0,callbackInterval:15e3,backgroundCallbackInterval:6e4,minPollInterval:100,maxPollInterval:18e4,callbacks:n,clientId:i,alwaysLongPoll:!1,baseUrl:"/",headers:{},ajax:p&&p.ajax,noConflict:function(){return e.MessageBus=e.MessageBus.previousMessageBus,this},diagnostics:function(){console.log("Stopped: "+l+" Started: "+u),console.log("Current callbacks"),console.log(n),console.log("Total ajax calls: "+O+" Recent failure count: "+o+" Total failures: "+R),console.log("Last ajax call: "+(new Date-w)/1e3+" seconds ago")},pause:function(){f=!0},resume:function(){f=!1,T(h),h=[]},stop:function(){l=!0,u=!1,v&&(clearTimeout(v),v=null),s.longPoll&&s.longPoll.abort()},start:function(){var r

Posiblemente tu sistema se quedó sin memoria o algo similar.

¿Puedes intentar reconstruir desde la consola?

Tenga en cuenta que la actualización fue exitosa: el fallo está en la presentación del flujo de registros en el navegador. Al actualizar, todo el registro era visible. Por lo tanto, estoy bastante seguro de que estamos ante un problema del cliente, no de ningún tipo de problema de actualización, reconstrucción o del lado del servidor.

Si nadie más lo ve nunca, estaría encantado de atribuirlo a un problema de mi navegador o portátil.

No entiendo cómo el JS que ve el navegador se relaciona con el árbol de fuentes, pero quizás este sea el código que vi enlazado en la consola (es un código que no ha cambiado recientemente)

He encontrado el mismo problema en algunos sitios que gestiono, pero no en todos, por lo que parece tratarse de un problema de configuración. Aún no tengo ninguna evidencia concreta, pero mi mejor suposición es que podría estar relacionado con multisitio.

Lo siento, no tengo ninguna información útil aquí, pero solo quería intervenir para confirmar que el problema no es específico solo para ti.

Gracias, eso es interesante y útil. Aún no tengo una configuración multisitio; mis dos foros están en servidores diferentes. Por lo tanto, tanto las configuraciones multisitio como las no multisitio pueden verlo.

Acaba de volver a ocurrir esto con la actualización a 2.7.0.beta9: el flujo de registro se quedó quieto mostrando que se estaban deteniendo los unicorns, mientras que la vista de procesos (abierta en otra pestaña) mostraba que el precompilado había comenzado.

Como solución alternativa, abrí una pestaña en la vista de versiones, vi el gran botón azul ahora etiquetado como ‘Actualizando actualmente’, hice clic y logré obtener una nueva vista de registro que se actualizaba correctamente.