如何在不到 1.00 秒内从 Zapier python 发送 post?

How to send post from Zapier python in less than 1.00 seconds?

有没有办法将 POST 从 "Code by Zapier" Zap 发送到 MailChimp 以将订阅者添加到列表并在不到 1.00 秒内可靠地完成?

我周末参加了非营利组织的志愿者编程马拉松。我的非营利客户需要从电子邮件中解析出一些数据,并用于将订户添加到 MailChimp 中的列表(SquareSpace 的商务部分通过电子邮件发送数据,但不允许将购买表单上的存储设置为 MailChimp——即使如果您不在 Commerce 区域,则可以在 SquareSpace 中使用)。我们发现我们可以用 Zapier 做到这一点——除了我们 运行 达到 Zapier 上免费帐户所能做的限制并且非营利组织现在不能购买付费帐户(Zapier 折扣非营利组织减少 15%)。

第一个限制是我们无法执行 3 步 zap(免费帐户最多 2 步)从 (1) Gmail 触发器到 (2) "Code by Zapier" 来解析电子邮件内容然后 (3) 到 MailChimp。我们想出的解决方法是删除步骤 #3 并通过 http POST 直接从 "Code by Zapier" 中的 Python 脚本发送到 MailChimp API。这在 Zapier 的测试模式下有效。

但是一旦打开 Zap,我们 运行 对站点进行了端到端测试,Zap 就失败了。免费 Zaps 有 1.00 秒的运行时间限制:之后 Zapier 将终止该作业。 POST 到 MailChimp 的时间足够长,以至于 Zap 超时。

我使用 "Code by Zapier" 和 Python 来发送 post。 They use Python 2.7.10。我能够 import requests 完成 post,我发现其他几个模块也可以工作,例如 jsonhttpliburllib

我想知道是否有办法让 POST 在 1 秒内可靠地发生。例如,有没有办法使用异步发送,然后不等待响应。我受限于 Python 2.7.10 和 Zapier 环境。 Zapier 还允许 JavaScript 作为 Python 的替代方案,因此如果 Python.

中没有解决方案,这可能是调查的另一条途径

来自 Zapier 平台团队的大卫。

我无法具体说明 Python 的速度,但我知道 javascript 可以在不等待响应的情况下发出请求。我们有一个基本示例 here,您可以对其进行修改以发送请求并立即结束执行(通过调用 callback 函数)。这不会是一个很好的体验,因为错误会悄无声息地发生,但它几乎肯定会在 1 秒内出现 window。

另外,整个 python stdlib 以及 requests 模块 (docs)

都可用