我有一個完全用通常的html/css/javascript編寫的web應用程序,以及一些使用jQuery的其他內容。 我也有一個非常龐大的程序用python編寫,它需要在我的web應用程序上對用戶提供的輸入進行操作。 目前,我正在從Php寫入輸入到一個文件,並閱讀它在Python中做我的操縱。 有沒有更好的實現這種同步? 另外,只要有用戶點擊提交按鈕,我需要執行我的python程序。我如何讓python等待這個?結合python和Php的Web應用程序
0
A
回答
3
由於常規文件的嚴重I/O操作,您的同步方式會產生相當大的開銷,因此您必須處理鎖定,即使小的負載增長也會導致整個系統崩潰。
什麼我建議你就是要與常用的兩個進程之間交換信息的IPC技術結識:
- 在Python有一個subprocess模塊,這將有助於您使用管道的進程之間的通信,其比使用普通文件更可靠。 PHP還具有popen函數,它允許您調用python進程並將數據傳遞給它以進行進一步處理(通過PIPES)。
- 另一種方法是在兩個進程之間建立一個從頭開始的套接字通信,其中您的PHP部分將成爲套接字客戶端,而Python部分將成爲套接字服務器(需要更多以前的工作方式)。
- 您還可以使用更好的方式排隊數據以進一步處理(我的意思是比常規文件更好),例如,使用消息服務(其中有很多,RabbitMQ,Redis Pub/Sub等),這些服務絕對可用於Python或PHP。
還有一些技術被排除在範圍之外,但是我已經選擇了3種排列IPC的方法,因爲它們是最簡單和最快的實現。
你可以嘗試所有這些,或者一些,並分析什麼是你的特定情況下的最佳方式。
-2
爲什麼要在php中編寫網站後端如果你的應用程序已經在python中的大部分?
要回答您的問題 - http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages。
但我建議,你放棄愚蠢的PHP,並採取一些像Django的Python框架,並使用它建立你的後端。如果你這樣做,那麼集成Python代碼很簡單,只需導入一個類/方法即可。
相關問題
- 1. Django的web應用程序和桌面Python應用程序
- 2. 如何無縫混合使用ASP.NET和PHP Web應用程序
- 3. 移動Web應用程序和結果
- 4. 結合瀏覽器和web應用程序進行部署
- 5. php web應用程序的安裝程序和更新程序
- 6. 將python應用程序中的websockets和WSGI結合起來
- 7. Web應用程序結構
- 8. Web應用程序:html和php
- 9. Python web應用程序
- 10. Python到Web應用程序
- 11. 結合瀏覽器應用程序和桌面應用程序
- 12. 結合Octopress和Rails 4.0應用程序?
- 13. 對移動Web應用程序和Web應用程序使用YII框架(php)
- 14. Android Php web應用程序
- 15. Python和凍結應用程序與shelve.py
- 16. 連接到PHP Web應用程序的Python桌面應用程序?
- 17. PHP程序或Web應用程序
- 18. 在同一個應用程序中結合Lisp和PHP代碼
- 19. Web應用程序體系結構:將python放入MEAN棧應用程序
- 20. 使用Python的web應用程序web.py
- 21. 調用Java應用程序的PHP Web應用程序
- 22. PHP應用程序結構
- 23. Web應用程序的文檔結構
- 24. Java Web應用程序的結構
- 25. 調試凍結的Web應用程序
- 26. Java Web應用程序的結構?
- 27. 將JavaHelp與Web應用程序結合使用
- 28. 在Web應用程序中將Nest Elasticsearch與Azure結合使用
- 29. S3和Web應用程序
- 30. Nunit和web應用程序
你試圖做什麼? – Sergey