python2.7 先响应客户端再处理(shopify webhook)
python2.7 response to client first then process (shopify webhook)
我正在构建一个 webhook 以将 Shopify 与我的派送连接起来。
Shopify Webhook 发送一个 json 请求并等待 5 秒,如果它没有收到 200 返回,它将终止请求并尝试另一个请求。
我的服务器现在可以直接处理这个问题
- 收到 shopify 请求
- 正在对来自 shopify 的订单数据进行排序
- 发送请求到调度服务器
- 检查来自服务器的响应
- 对 shopify 的响应
这样有时需要的时间略长于 5 秒,因此 shopify 在服务器更新调度时再次发送请求。
解决此问题的最佳解决方案是什么?
我正在考虑两种解决方案
一个。响应 200 首先返回 shopify,然后处理调度(我不确定如何使用 python2.7 执行此操作)
b.创建一个数据库来存储 shopify 请求,因此 shopify 请求只需创建一条订单记录,然后它会收到 200 返回(应该少于 5 秒)。通过此设置 crontask 或 celery 任务来更新调度
有什么建议吗?
最好使用任务队列。使用 celery 在后台执行任务。一旦收到来自 shopify 的响应,将您的任务交给 celery,以便它可以 运行 在后台执行任务,然后您可以将 200 响应发回。
我正在构建一个 webhook 以将 Shopify 与我的派送连接起来。 Shopify Webhook 发送一个 json 请求并等待 5 秒,如果它没有收到 200 返回,它将终止请求并尝试另一个请求。
我的服务器现在可以直接处理这个问题
- 收到 shopify 请求
- 正在对来自 shopify 的订单数据进行排序
- 发送请求到调度服务器
- 检查来自服务器的响应
- 对 shopify 的响应
这样有时需要的时间略长于 5 秒,因此 shopify 在服务器更新调度时再次发送请求。
解决此问题的最佳解决方案是什么?
我正在考虑两种解决方案
一个。响应 200 首先返回 shopify,然后处理调度(我不确定如何使用 python2.7 执行此操作) b.创建一个数据库来存储 shopify 请求,因此 shopify 请求只需创建一条订单记录,然后它会收到 200 返回(应该少于 5 秒)。通过此设置 crontask 或 celery 任务来更新调度
有什么建议吗?
最好使用任务队列。使用 celery 在后台执行任务。一旦收到来自 shopify 的响应,将您的任务交给 celery,以便它可以 运行 在后台执行任务,然后您可以将 200 响应发回。