我有一個Python命令行腳本,它可能需要一些時間才能運行(從5秒到5分鐘),具體取決於它所做的檢查。該腳本使用許多命令行參數,其中一些是強制的,大多數是可選的。帶有「流式文本」的Python腳本的Web界面
我想將此腳本「網絡化」,從而可以從Web瀏覽器訪問它,但無需更改核心Python腳本,因此通過從其他內容啓動它(例如另一個Python腳本)
我已經在Apache中使用過mod_python,因此構建一個Python腳本並生成帶有窗體和提交按鈕的網頁並從中運行我的核心Python腳本並不是太多問題。
問題出在核心python腳本的輸出上。我不想等到它完成後纔將其輸出顯示在DIV(或FRAME)中。只要它生成一行,我希望該行顯示在Web界面上,這是DIV中的一種文本流。
我知道如何從包含在HTML頁面中的Javascript或作爲外部Javascript文件執行此操作,但不能從其他程序的輸出執行此操作。
任何想法,我可以如何實現這一目標?我寧願保留所有Python + Apache,但如果真的需要其他東西(PHP,AJAX,Javascript ......),我可以忍受它。
作爲建議通過以下 whatnick,我試圖核心python腳本的輸出重定向到一個臨時文件,然後使用 AJAX Logfile Trailer & Viewer代碼,我在網上找到顯示此文件。
它的工作方式,但仍然有一些緩衝,因爲線出現在幾行塊的「日誌尾頁」,而不是行的行。這很可能是由於AJAX腳本使用計時器重新加載日誌文件,每X毫秒(在腳本中可配置,用於Javascript定時器)。即使我降低了速度,但對於我的核心腳本來說,速度還是不夠快,因爲它有時會輸出很多行。
感謝您的想法。我在問題中添加了我的測試結果。 – Snark 2010-10-20 11:43:06