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

Posted

技术标签:

【中文标题】如何在不到 1.00 秒内从 Zapier python 发送帖子?【英文标题】:How to send post from Zapier python in less than 1.00 seconds? 【发布时间】:2018-10-30 17:26:58 【问题描述】:

有没有办法从“Zapier 的代码”Zap 向 MailChimp 发送 POST 以将订阅者添加到列表并在 1.00 秒内可靠地完成?

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

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

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

我使用“Zapier 的代码”和 Python 来发送帖子。 They use Python 2.7.10。我可以import requests 发帖,我发现其他几个模块也可以工作,例如jsonhttpliburllib

我想知道是否有办法让 POST 在 1 秒内可靠地发生。例如,有没有办法使用异步发送然后不等待响应。而且我受限于 Python 2.7.10 和 Zapier 环境。 Zapier 还允许 javascript 作为 Python 的替代品,因此如果 Python 没有解决方案,这可能是另一种调查方式。

【问题讨论】:

【参考方案1】:

David 来自 Zapier 平台团队。

我无法具体谈论 Python 的速度,但我知道 javascript 可以在不等待响应的情况下触发请求。我们有一个基本示例here,您可以对其进行修改以发送请求并立即结束执行(通过调用callback 函数)。这不会是一次很好的体验,因为错误会静默发生,但几乎可以肯定它适合 1 秒的窗口。

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

【讨论】:

以上是关于如何在不到 1.00 秒内从 Zapier python 发送帖子?的主要内容,如果未能解决你的问题,请参考以下文章

创建一个 UIProgressView 在 3 秒内从 0.0(空)变为 1.0(满)

axios在20秒内给出响应,但具有相同请求有效载荷的相同api在6秒内从邮递员那里得到响应

unity里怎么让一个物体在在5秒内从某点移动到另外一点?

大量内存溢出导致堆大小在大约 8 秒内从大约 64mb 变为 1.5gb。垃圾收集器的问题?

当布尔值为真时触发动画

如何查看使用我们的 zapier 应用程序的用户列表?