【问题标题】:Is it possible to overcome 250 item limit in Python/Code By Zapier step?是否可以通过 Zapier 步骤克服 Python/Code 中的 250 项限制?
【发布时间】:2020-12-10 09:11:50
【问题描述】:

我正在使用 Zapier 代码步骤从远程数据库中获取记录。这本质上是一个远程 SELECT 查询,我解析响应,处理记录,然后将它们很好地打包到 OUTPUT 字典中,这样我的下一个应用程序就可以一次读取一条记录,然后从那里获取。

现在,我的查询计划每月运行一次,我每月通过这些查询获得 275-400 条记录,这与我的 OUTPUT 字典大小相关。

我意外地发现 Zapier 只允许 OUTPUT 字典中的 250 个项目。我知道代码步骤的内存限制,但我天真地认为 OUTPUT 大小也将受到此内存限制的影响。原来这是一个硬限制。

我的问题 #1:升级到更大的计划会给我更大的项目大小限制吗?

问题 #2:关于如何规避此限制有什么建议吗?我知道 Zapier 目前不支持 zap 中的循环,但是我有什么办法可以围绕这个“编码”吗?

我知道连续两天运行相同的 zap 等可能是可能的,但在这种情况下还有其他一些缺点。

另外,关于限制的另一个问题:- 10 秒,256MB 运行内存限制:这是每个 zap,还是每个代码步骤?意思是,如果我将我的 zap 代码分成两部分,那么每个步骤我都会得到 10 秒吗?

有什么想法吗?

【问题讨论】:

    标签: python zapier


    【解决方案1】:

    Zapier 代码步骤基于无服务器架构,并具有执行时间和内存的上限。它不应该运行长时间运行的集成或移动大数据。

    【讨论】:

    • 感谢您提供的信息。对于更昂贵的计划,Zapier 将允许您消耗更多内存(通过代码)并允许更多执行时间(最多 10 秒)。因此,想知道这个内存大小限制是否也是弹性的,并且可以按计划递增。
    【解决方案2】:

    好问题!

    升级到更大的计划会给我更大的物品尺寸限制吗?

    没有。免费用户可以退货25件,付费用户可以退货250件。这不是一个常用的功能,所以它不是 Zapier 定价的东西。我不确定为什么存在这个限制,但这是一个硬限制。

    10 秒、256MB 运行内存限制:这是每个 zap,还是每个代码步骤?

    这是每个代码步骤。但是,要小心你的循环逻辑——如果你把两个代码步骤都按顺序返回数组,那么你会有很多重复。例如,如果每个代码步骤 A 和 B 都按顺序返回 10 个项目,那么代码步骤 b 将运行 10 次并返回 100 个项目(这可能不是您想要的)。

    您似乎想要触发器的功能(返回对象列表,在每个对象上运行其余的 zap),所以我将您的代码设置为触发器!触发器没有项目限制(虽然有前面提到的数据大小限制,但你应该没问题)。

    唯一棘手的部分是让 Zap 在需要时运行。代码触发器在您的投票窗口内运行(免费用户为 15 分钟,付费用户更快)。因此,您需要在代码顶部使用if 语句来返回[],除非它是您指定的运行日期/时间。不如时间表触发器优雅,但是

    最后要注意的一件事 - 由于您的代码现在是触发器的一部分,因此返回的数据将受制于 deduplication,而以前不受制于。确保返回的项目具有唯一 ID(如果您希望每个项目每次都触发)或重复 ID(如果您只对从未见过的项目感兴趣)。可以通过将实际 ID 与其运行日期相结合来合成唯一 ID。

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 2018-06-05
      相关资源
      最近更新 更多