我有一个运行Python 3.7(标准环境)的App Engine服务,该服务是发布/订阅主题的推送订阅者(并因此而触发)。该程序可以运行很长时间。我需要能够立即确认该消息,然后继续运行,以使该服务不会持续收到相同的消息。
我在这里看到两种可能性:
我认为选项1似乎更有吸引力-但我不知道它在Python中是否可行。据我所知(如果我错了,请纠正我),该消息最终会以返回的200
状态得到确认。
我在下面的程序中添加了基本框架。任何想法都欢迎,谢谢!
@app.route('/_ah/push-handlers/receive_messages/', methods=['POST'])
def receive_messages_handler():
if (request.args.get('token', '') != current_app.config['PUBSUB_VERIFICATION_TOKEN']):
return 'Invalid request', 400
envelope = json.loads(request.data.decode('utf-8'))
payload = base64.b64decode(envelope['message']['data'])
logging.info(f"Recieved message: {payload}")
# Long-running program in here
return 'OK', 200
答案 0 :(得分:1)