簡體   English   中英

使用Django作為GUI以長時間運行python進程

[英]Using Django as GUI for long running python process

這是關於架構的問題。 假設我在培訓期間正在服務器上運行很長時間,例如機器學習。 現在,當它在外部計算機上運行時,我希望有一個工具可以不時快速地查看結果。 因此,我認為最好的方法是建立一個網站,該網站可以快速連接到流程,例如使用RPC來顯示結果,因為這使我始終可以檢入。現在的問題是Django視圖應如何從服務器流程中收集信息:

1)直接在視圖中使用諸如rpyc之類的RPC調用?

2)使用諸如celery之類的消息傳遞隊列?

3)還是以完全不同的方式看不到?

至少有兩種可能的方法可以做到這一點。

  1. 將您的數據刷新功能實現為視圖,並通過ajax(sync)+ javascript定時器對其進行訪問。由於您訪問的頁面包含這些js,因此它將以靜默方式獲取數據並更新頁面。 但是,當您需要以給定的頻率記錄所有數據時,此解決方案效果不佳; ajax / view僅在打開網頁時執行。

  2. 像selcuk建議的那樣使用消息隊列。在芹菜旁邊,APscheduler也是一個不錯的選擇,因為它易於安裝和使用。您可以使用狀態(隊列/完成/停止/任何/作為字段)實現任務(作為模態)隊列並檢查它們以您想要的頻率保存您檢索的日期並執行所有其他操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM