如何在不到 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
发帖,我发现其他几个模块也可以工作,例如json
、httplib
和urllib
。
我想知道是否有办法让 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秒内从邮递员那里得到响应