我正在開發一個小型的週末項目,它基本上是一個在線IDE,它允許您從瀏覽器運行PHP,Ruby或Python代碼。我有一切設置和工作,但是我創建系統的方式,如果用戶運行的是寫得不好的腳本,或者是運行繁重的腳本,那麼系統可能會減慢每個人的速度,直到達到超時(15秒)。在沙盒模式下運行PHP,Ruby或Python進程
我的系統沒有通過斐波納契測試。我該如何運行該過程的隔離,這將允許用戶創建:
while (true) { fibonacci() } // pseudo-code
沒有崩潰的服務器?我已經考慮採取行動的以下課程:
- 運行多克爾(https://www.docker.io)容器內的每一個過程,但我不知道如何與慢容器
- 搬運工交易運行內部VM
- 每個進程在瞬間創建的EC2實例中運行的每一個進程(這是不是一個真正的選擇,因爲這是緩慢且昂貴)
爲什麼不運行在客戶端腳本? – rlms
在線IDE中在客戶端運行PHP/Ruby?這沒有任何意義。 – vinnylinux
IDE可能處於聯機狀態,但按下執行按鈕後,會啓動客戶端計算機上的進程。客戶機管道輸出到服務器,顯示它。 – rlms