【问题标题】:Is polling in a trigger supported in Zapier?Zapier 是否支持在触发器中进行轮询?
【发布时间】:2019-07-09 00:25:39
【问题描述】:

我正在编写一个 zapier 触发器,在该触发器中我需要启动我们的文件下载 api,该 api 反过来提供一个 url 来轮询,一旦我获得文件就绪状态,我就可以构造一个文件下载 url。 是否可以在触发器中包含轮询代码? zapier 支持的文件有大小限制吗? 一旦我有我的下载网址,可以简单地使用这个代码吗?

return _.map(records, function(record) {
  // if you just do url, we'll include any standard authentication headers
  record.file = z.dehydrateFile('//mysite.com/mypath/download' + record.id);
  return record;
});

【问题讨论】:

    标签: zapier


    【解决方案1】:

    David 来自 Zapier 平台团队。

    基本上你可以在触发器中做任何你想做的事情,但有几件重要的事情需要牢记:

    • 目标是获取大量物品,将它们全部归还,然后 zapier zapier 决定哪些是新的
    • 触发器总共有 30 秒的时间,因此如果您轮询大量结果,您将超时
    • 有一个很重要的line in the docs

    注意:如果您通过短期 URL 发送文件,则只能在水合方法或钩子触发器的执行中使用 z.stashFile()。否则,在轮询调用中存储数十个文件可能会非常昂贵

    这里最糟糕的情况是,每次我们轮询时(每 5-15 分钟发生一次),您等待每个结果的文件并每次都将其存储(不知道用户是否需要它)。

    您应该按照文档中的示例进行操作,在 Zapier 民意调查期间,您会脱水您的民意调查操作。当我们确定一个项目是新的时,我们将进行轮询,一旦文件准备好就将其存储起来,并将其适当地发送给用户。

    【讨论】:

      【解决方案2】:

      通常应避免轮询,因为它会导致性能问题。如果可以,您可能希望在后台函数(请参阅serverless 函数)或后台代码中编写轮询代码。它为您完成繁重的工作。创建一个 Zapier Webhook。从后台代码/函数中,将您的文件/数据的 HTTP POST 逐一(就像创建/更新新项目)发送到 Webhook。这种结构/架构是您的触发器。使用上面的用例,您可以只将下载 url 发送到Webhook。之后,您可以添加zap 以使用此触发器并使用传入数据并发送到action。这使它更清洁、更高效。

      参考:Webhooks

      【讨论】:

      • 谢谢Prasad,看来这会解决我的问题,我会探索并更新。
      猜你喜欢
      • 2018-08-17
      • 2018-08-06
      • 2022-10-18
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 2020-12-18
      相关资源
      最近更新 更多