如何可靠地从我的服务器上的推送数据服务中检索消息?

时间:2016-01-15 14:23:26

标签: python architecture push-notification rabbitmq

在第三方服务器上有推送数据服务。我需要能够接收它在我的服务器上运行的python脚本发送的几乎所有消息。

我想知道,它可靠吗?我可以在我的服务器上运行我的python脚本并让它将传入的消息插入到db中,以后我可以从客户端应用程序访问它们吗?或者是否还有其他更复杂的东西,例如涉及的更多层次的东西?我可以在那种场景中使用RabbitMQ,是否真的需要它?

1 个答案:

答案 0 :(得分:0)

这是一个简单的api设置,使用Flask运行127.0.0.1:8001,使用BeautifulSoup解析XML数据,并回应结果。

note.xml:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

app.py:

from flask import Flask, request
from bs4 import BeautifulSoup

app = Flask(__name__)

@app.route('/xml', methods=['POST'])
def recieve_some_xml():
    data = request.get_data()
    parsed = BeautifulSoup(data)

    to = parsed.find('to').text
    sender = parsed.find('from').text
    heading = parsed.find('heading').text
    body = parsed.find('body').text

    # do something with data, insert into db...

    return "Data sent was: %s, %s %s, %s" % (to, sender, heading, body)

if __name__ == "__main__":
    app.run(debug=True, port=8001)

当我将XML数据发送到该地址时:

curl -H "Content-Type: text/xml" -d @note.xml -X POST http://127.0.0.1:8001/xml
Data sent was: Tove, Jani Reminder, Don't forget me this weekend!