我尝试使用Django构建一个Web应用程序,该应用程序必须在服务器shell上运行命令并在浏览器上实时显示输出。
我需要能够查看输出,并在必要时取消执行。
我想知道我是否需要设置websocket服务,或者是否有更简单的方法来实现它。
答案 0 :(得分:0)
我没有做同样的事情,但我想你可以这样做:
首先,在服务器上运行命令时,需要将输出保存到数据库或文件中。
其次,您需要在前端使用守护进程,它会通过http每隔几分钟或几秒钟检查数据库或文件。一旦守护进程发现某些内容发生了变化,它就会在浏览器上显示出来。
最后,如果您想通过浏览器取消它,我认为您应该向后端发送一些信号,并检查django应用程序中的信号,并可能通过python运行一些命令。如果您想通过服务器取消命令,可能就像kill -9 pid
关于第2步,我建议您使用setInterval