Google App Engine上的异步POST python请求

能动者

我正在Google App Engine上的python项目上工作,并且正在使用Parse发送推送通知。Eyerything可以正常工作,但是当我必须将多个通知发送到由POST休息请求给Parse服务器提供的不同设备时,我注意到了一些滞后

要更清楚:

我有一个包含N个元素的循环,对于每个元素我都必须发送一个推送通知,因此我必须向Parse发出POST请求,并且每个连接(当然)大约需要300毫秒才能完成,因此完成它的速度相当慢整个循环。

我认为在异步请求中更改请求应该更好,但是在文档和Google上搜索之后,我没有找到明确的示例,说明如何使用urllib2urlfetch如何使用Parse Key和Applicaton Id传递标头。

工作(非异步)代码是

    parse_connection = httplib.HTTPSConnection('api.parse.com', 443)
    parse_connection.connect()
    parse_app_id = parse_settings.APPLICATION_ID
    parse_rest_api_key = parse_settings.REST_API_KEY
    parse_connection.request('POST', '/1/push',
                            json.dumps({
                                "channels": ["blabla"],
                                "data": {
                                    "alert": "A",
                                    "title":"B",
                                    "badge": "Increment",
                                    "category": "C",
                                    "sound": "default",
                                    "additionalInfos": {"X": "Custom dict"}}
                            }),
                            {
                                "X-Parse-Application-Id": parse_app_id,
                                "X-Parse-REST-API-Key": parse_rest_api_key,
                                "Content-Type": "application/json"
                            })
    return json.loads(parse_connection.getresponse().read())

为了使异步我想我应该用urlfetch

    rpc = urlfetch.create_rpc()
    options = json.dumps({"channels": ["blabla"],
                          "data": {
                              "alert": "A",
                              "title": "B",
                              "badge": "Increment",
                              "category": "C",
                              "sound": "default",
                              "additionalInfos": {"X": "Custom dict"}},
                          })
    urlfetch.make_fetch_call(rpc, "https://api.parse.com/1/push:443", options)

但我找不到示例如何添加标题..任何建议?谢谢!

parthi82
     rpc = urlfetch.create_rpc(deadline=60)
     url =  "https://api.parse.com/1/push:443"
     request_params = {
                         "channels": ["blabla"],
                         "data": {
                         "alert": "A",
                         "title":"B",
                         "badge": "Increment",
                         "category": "C",
                         "sound": "default",
                         "additionalInfos": {"X": "Custom dict"}}
                       }
     headers = {
                  "X-Parse-Application-Id": parse_app_id,
                  "X-Parse-REST-API-Key": parse_rest_api_key,
                  "Content-Type": "application/json"
                }
     urlfetch.make_fetch_call(rpc,
                              url,
                              payload=json.dumps(request_params),
                              method=urlfetch.POST,
                              headers=headers)

如果您需要更多帮助,可以随时查看源代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python请求不适用于Google App Engine

来自分类Dev

Python Google App Engine。两次发送GET请求

来自分类Dev

使用Google App Engine(Python)响应AJAX GET和POST请求

来自分类Dev

将GET请求中的网址发送到Google App Engine上的Python服务器

来自分类Dev

Google App Engine上的python请求不适用于HTTPS

来自分类Dev

Google App Engine:POST请求后为空白页

来自分类Dev

Google App Engine上的传出HTTP请求位置

来自分类Dev

405方法不允许-使用Google App Engine(Python语言)获取请求

来自分类Dev

Google App Engine(Python):在单个网页上使用多个表单

来自分类Dev

使用Python从Google App Engine上的外部URL上传文件

来自分类Dev

Google App Engine(Python):在单个网页上使用多个表单

来自分类Dev

Google App Engine上的Mapreduce

来自分类Dev

Google App Engine上的NoSuchMethodError

来自分类Dev

从App Engine到云存储的异步请求

来自分类Dev

在POST请求正文中删除了换行符?(Google App Engine)

来自分类Dev

Google App Engine上的Google Cloud端点

来自分类Dev

在Google App Engine任务队列中处理请求

来自分类Dev

Google App Engine:HTTP错误400:错误的请求

来自分类Dev

如何使用Google App Engine请求已读回执

来自分类Dev

请求使用Google App Engine记录额外的权限

来自分类Dev

Google App Engine请求日志,包括严重性

来自分类Dev

Spring MVC,Google App Engine和HEAD请求过滤

来自分类Dev

来自某个国家/地区的Google App Engine请求

来自分类Dev

我无法为我的 Google App Engine 禁用 http 请求

来自分类Dev

Google App Engine - 第一个请求很慢

来自分类Dev

Google App Engine Python的Flickr OAuth

来自分类Dev

Google App Engine的Python API问题

来自分类Dev

Python部署到Google App Engine

来自分类Dev

Google App Engine + Python中的REST API?

Related 相关文章

  1. 1

    python请求不适用于Google App Engine

  2. 2

    Python Google App Engine。两次发送GET请求

  3. 3

    使用Google App Engine(Python)响应AJAX GET和POST请求

  4. 4

    将GET请求中的网址发送到Google App Engine上的Python服务器

  5. 5

    Google App Engine上的python请求不适用于HTTPS

  6. 6

    Google App Engine:POST请求后为空白页

  7. 7

    Google App Engine上的传出HTTP请求位置

  8. 8

    405方法不允许-使用Google App Engine(Python语言)获取请求

  9. 9

    Google App Engine(Python):在单个网页上使用多个表单

  10. 10

    使用Python从Google App Engine上的外部URL上传文件

  11. 11

    Google App Engine(Python):在单个网页上使用多个表单

  12. 12

    Google App Engine上的Mapreduce

  13. 13

    Google App Engine上的NoSuchMethodError

  14. 14

    从App Engine到云存储的异步请求

  15. 15

    在POST请求正文中删除了换行符?(Google App Engine)

  16. 16

    Google App Engine上的Google Cloud端点

  17. 17

    在Google App Engine任务队列中处理请求

  18. 18

    Google App Engine:HTTP错误400:错误的请求

  19. 19

    如何使用Google App Engine请求已读回执

  20. 20

    请求使用Google App Engine记录额外的权限

  21. 21

    Google App Engine请求日志,包括严重性

  22. 22

    Spring MVC,Google App Engine和HEAD请求过滤

  23. 23

    来自某个国家/地区的Google App Engine请求

  24. 24

    我无法为我的 Google App Engine 禁用 http 请求

  25. 25

    Google App Engine - 第一个请求很慢

  26. 26

    Google App Engine Python的Flickr OAuth

  27. 27

    Google App Engine的Python API问题

  28. 28

    Python部署到Google App Engine

  29. 29

    Google App Engine + Python中的REST API?

热门标签

归档