我正在尋找一種方法來防止多個主機同時發出命令到Python XMLRPC偵聽器。偵聽器負責運行腳本以在該系統上執行任務,如果多個用戶同時嘗試發出這些命令,該任務將失敗。有沒有辦法阻止所有傳入的請求,直到單個實例完成?Python XMLRPC與併發請求
7
A
回答
15
我覺得Python SimpleXMLRPCServer模塊是你想要的。我相信該模型的默認行爲是在當前請求正在處理時阻止新的請求。默認行爲給了我很多麻煩,我通過在ThreadingMixIn類中混合來改變這種行爲,以便我的xmlrpc服務器可以在同一時間響應多個請求。
class RPCThreading(SocketServer.ThreadingMixIn, SimpleXMLRPCServer.SimpleXMLRPCServer):
pass
如果我正確理解你的問題,SimpleXMLRPCServer是解決方案。只需直接使用它。
+0
+1,這是完美的! – 2009-10-21 10:48:12
0
0
有以下幾種選擇:
- 使用單進程,單線程服務器一樣
SimpleXMLRPCServer
隨後處理請求。在線程服務器中使用threading.Lock()
。 - 您在多進程服務器中有一些外部鎖定機制(如
lockfile
模塊或mysql中的GET_LOCK()
函數)。
相關問題
- 1. 使用Java發送XMLRPC請求
- 2. 併發請求瓶蟒python
- 3. CodeIgniter xmlrpc請求格式
- 4. Android OpenERP搜索請求XMLRPC
- 5. Appengine Python中的併發請求
- 6. 發出請求@python
- 7. Python發佈請求
- 8. 發送與cookies的請求[python]
- 9. Openresty併發請求
- 10. Http請求/併發?
- 11. 的併發請求
- 12. ActiveJDBC併發請求?
- 13. Symfony2請求併發
- 14. Python的請求與
- 15. 併發HTTP請求與改造
- 16. 連接池大小與併發請求
- 17. python請求無法發送https請求
- 18. 取消xmlrpc客戶端請求?
- 19. Apache併發請求緩慢
- 20. 如何記錄或打印XMLRPC XML請求已發送?
- 21. python請求網址並行
- 22. 發送郵件請求python
- 23. 打印python發佈請求
- 24. Python請求發佈表格
- 25. RestEasy:處理併發請求
- 26. PARSE - 處理併發請求?
- 27. 併發HTTP請求限制
- 28. Zend_Session_SaveHandler_DbTable和併發請求
- 29. 併發請求預防
- 30. PHP併發HTTP請求?
客戶是否知道衝突矩陣?他們是否應該足夠聰明,按照這個矩陣來安排自己?他們的活動如何同步等... – jldupont 2009-10-19 15:19:42
你使用SimpleXMLRPCServer,因爲我認爲這是單線程... – SeriousCallersOnly 2009-10-19 16:23:39
我使用的是SimpleXMLRPCServer,但它似乎可以從不同的主機同時啓動相同的命令,這就是我需要防止 – MattB 2009-10-19 17:18:42