sirve que para node debug javascript jquery python django console

javascript - que - node-inspector



tail-f en un webbrowser (3)

¿Por qué no saca los datos a un archivo HTML? Podría ejecutar un trabajo cron para ejecutar su script que a su vez generaría un archivo HTML que podría tener acceso desde el navegador.

Creé un script de Python que monitorea un archivo de registro para ver los cambios (como tail -f) y lo muestra en una consola. Me gustaría acceder al resultado de la secuencia de comandos de Python en un navegador web. ¿Qué necesitaría para crear esto? Estaba pensando en usar Django y jQuery. Cualquier consejo o ejemplo son muy apreciados.


No tengo experiencia en Python o Django, pero supongo que puedes hacer una llamada al sistema similar a Python y transmitir los detalles.

A partir de ahí, utilizaría una llamada jQuery .ajax() con un setInterval() JavaScript setInterval() a su secuencia de comandos de Python y los resultados a un div en la página web. En general, es una solución bastante simple.

En este caso, realmente no necesitaría usar una llamada al sistema open tail -f porque la naturaleza del método setInterval() JS, el script Python se clearInterval() una y otra vez hasta que se clearInterval() método clearInterval() JS. Agrupará los detalles de su secuencia de comandos en Python o JS dependiendo de dónde desee hacer el trabajo. Sugeriría Python ya que tendría funciones más robustas a su alcance y enviaría menos datos a través de la llamada AJAX. Teóricamente, probablemente no se necesite demasiada lógica en el código jQuery en el front-end. Solo muestra los datos.


Primero crea una secuencia de comandos python que supervisa el archivo de registro para ver los cambios. Si solo necesita esto para la depuración, para fines de prueba, es excesivo usar Django u otro marco web. Es muy fácil implementar la funcionalidad del servidor web Http usando sockets. Siempre que se presente una solicitud Http GET, solo sirva la diferencia de la solicitud diferente. Para lograr esto, necesita almacenar en la memoria el estado de cada solicitud que llega (número de la última línea en el archivo).

La parte jQuery es realmente bastante fácil. Configure un temporizador con la función setTimeout. Algo como esto hará:

function doUpdate() { $.ajax({type: "GET", url : tailServiceUrl, success: function (data) { if (data.length > 4) { // Data are assumed to be in HTML format // Return something like <p/> in case of no updates $("#logOutputDiv").append(data); } setTimeout("doUpdate()", 2000); }}); } setTimeout("doUpdate()", 2000);

También puede crear devoluciones de llamada por error y tiempo de espera para informar un problema con el servidor.