簡體   English   中英

Python和PHP之間的簡單,強大的IPC

[英]Easy, Robust IPC between Python and PHP

我有一個使用subprocess.Popen()函數啟動PHP腳本的python程序。 PHP腳本需要與Python來回通信,我正在嘗試找到一種簡單但健壯的方法來管理消息的發送/接收。

我已經使用基本套接字編寫了一個有效的協議,但是感覺並不十分健壯-我沒有任何邏輯來處理丟棄的消息,而且我什至沒有完全理解套接字的工作原理,這使我不確定其他的事情可能會出錯。

有沒有比原始套接字更簡單的通用庫或IPC框架?

  • ATM我需要一些支持Python PHP的東西,但是將來我可能還希望能夠使用C,Perl和Ruby。
  • 我正在尋找可靠的東西,即當服務器或客戶端崩潰時,另一方需要能夠正常恢復。

聽起來您需要通用的RPC框架。

您應該看一下:

節儉可能是您想要的更多東西。 Facebook內部使用了它。

您可以查看共享內存或命名管道,但我認為還有兩個更可能的選擇,假設這些語言中的至少一種用於Web應用程序:

答:使用數據庫的原子性。 在python中,開始事務,將消息放入表中,然后結束事務。 從php開始事務,從表中取出一條消息或將其標記為“已讀”,然后結束事務。 使您的PHP和/或python具有足夠的自我意識,不要兩次發布相同的消息。 瞧; 使用現有的Web體系結構的可靠(可擴展)IPC。

B.使您的網絡服務器(假定為webapp)能夠同時運行php和python,將所有內部進程鎖定為僅本地訪問,然后使用xmlrpc或使用標准庫從其他語言使用soap對其進行調用。 這也是可擴展的,因為您以后可以更改URL和安全鎖定。

暫無
暫無

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

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