Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Gmail Pubsub-Infinite推送通知_Python 3.x_Google Cloud Pubsub - Fatal编程技术网

Python 3.x Gmail Pubsub-Infinite推送通知

Python 3.x Gmail Pubsub-Infinite推送通知,python-3.x,google-cloud-pubsub,Python 3.x,Google Cloud Pubsub,我正在尝试设置一个flask端点,这样每当它从PubSub收到Gmail推送通知时,它就会向另一个API/端点发送post请求 但是,在运行服务器时,进程将无限次地运行,即(接收通知,向另一个API发送POST请求,向PubSub返回200) 这导致来自PubSub的无限通知,以及随后对API的无限post请求,即无限_循环(接收新的PubSub post请求,应用程序向API发送自己的post请求) 每个请求几乎都是一个接一个的即时请求,因此我不确定发送post请求是否会以某种方式返回一个po

我正在尝试设置一个flask端点,这样每当它从PubSub收到Gmail推送通知时,它就会向另一个API/端点发送post请求

但是,在运行服务器时,进程将无限次地运行,即(接收通知,向另一个API发送POST请求,向PubSub返回200)

这导致来自PubSub的无限通知,以及随后对API的无限post请求,即无限_循环(接收新的PubSub post请求,应用程序向API发送自己的post请求)

每个请求几乎都是一个接一个的即时请求,因此我不确定发送post请求是否会以某种方式返回一个post请求,从而再次触发接收方

如果我删除post请求:

    if flask.request.method == 'POST':

        json_body = grab_latest_email()

        # send post request to another API
        # response = requests.post(url, json_body)
        # print(response.status) # returns OK/200
            
        return 'success'
没有循环,PubSub通知按预期工作


谢谢你

你能探索问题中的更多描述吗,找到符合你意图的
gmail发布/订阅
设计吗?我假设Flask对象拥有访问用户数据的特定属性,只需查看此项以获取更多详细信息。Flask请求对象返回如下内容:{“emailAddress”:user@example.com", “historyId”:“9876543210”}根据PubSub-doc:然后可以使用history.list()要获取用户自上次已知historyId以来的更改详细信息,请按照同步指南。您是否查看了上面有关Flask请求对象属性的链接?@Nick_Kh感谢您的回复-我查看了您共享的链接,我可以从PubSub post请求中获取内容,而不会出现问题。问题是我自己在if语句-我对我的代码做了一些更改并编辑了我的原始问题,如果你能看一看,你能探索问题中的更多描述吗,根据你的意图发现
gmail pub/sub
设计吗?我假设Flask对象具有访问用户数据的特定属性,只需查看此以获得更多详细信息e Flask请求对象返回如下内容:{“emailAddress”:”user@example.com,“historyId”:“9876543210”}根据PubSub-doc:然后可以使用history.list()要获取用户自上次已知historyId以来的更改详细信息,请按照同步指南。您是否查看了上面有关Flask请求对象属性的链接?@Nick_Kh感谢您的回复-我查看了您共享的链接,我可以从PubSub post请求中获取内容,而不会出现问题。问题是我自己在如果声明-我对我的代码做了一些更改,并编辑了我的原始问题,如果你能看一下的话
    if flask.request.method == 'POST':

        json_body = grab_latest_email()

        # send post request to another API
        # response = requests.post(url, json_body)
        # print(response.status) # returns OK/200
            
        return 'success'