python2.7 先响应客户端再处理(shopify webhook)

python2.7 response to client first then process (shopify webhook)

我正在构建一个 webhook 以将 Shopify 与我的派送连接起来。 Shopify Webhook 发送一个 json 请求并等待 5 秒,如果它没有收到 200 返回,它将终止请求并尝试另一个请求。

我的服务器现在可以直接处理这个问题

  1. 收到 shopify 请求
  2. 正在对来自 shopify 的订单数据进行排序
  3. 发送请求到调度服务器
  4. 检查来自服务器的响应
  5. 对 shopify 的响应

这样有时需要的时间略长于 5 秒,因此 shopify 在服务器更新调度时再次发送请求。

解决此问题的最佳解决方案是什么?

我正在考虑两种解决方案

一个。响应 200 首先返回 shopify,然后处理调度(我不确定如何使用 python2.7 执行此操作) b.创建一个数据库来存储 shopify 请求,因此 shopify 请求只需创建一条订单记录,然后它会收到 200 返回(应该少于 5 秒)。通过此设置 crontask 或 celery 任务来更新调度

有什么建议吗?

最好使用任务队列。使用 celery 在后台执行任务。一旦收到来自 shopify 的响应,将您的任务交给 celery,以便它可以 运行 在后台执行任务,然后您可以将 200 响应发回。