python应用程序之间有不同的通信选项。
一个简单的方法是使用基于HTTP的API。每个应用程序将公开一个特定的端口,并通过交换HTTP请求进行通信。 有几个框架允许您在几个步骤中构建它。例如,使用Bottle:
在app1中:
from bottle import route, run, request @route('/action_1', method='POST') def action_1_handler(): data = request.json print(str(data)) # Do something with data return {'success': True, 'data': {'some_data': 1}} run(host='localhost', port=8080)
在app2中:
import requests r = requests.post("http://localhost:8080/action_1", json={'v1': 123, 'v2': 'foo'}) print r.status_code # 200 data = r.json() # {u'data': {u'some_data': 1}, u'success': True}
请注意,如果在收到HTTP请求后在app1执行的操作需要大量时间,则可能会导致超时错误。在这种情况下,请考虑在另一个线程中运行该操作或使用备用通信协议(例如套接字,ZeroMQ消息库)。
一些相关的读物: