我使用Zapier step的代码从远程数据库获取记录。这本质上是一个远程选择查询,我解析响应,处理记录,然后将它们很好地打包到输出字典中,这样我的下一个应用程序就可以一次读取一条记录,并从中获取它
现在,我的查询计划每月运行一次,通过这些查询,我每月可以获得275-400条记录,这与我的输出字典大小相关
我发现Zapier只允许输出字典中的250项,这让我大吃一惊。我知道代码步骤的内存限制,但我天真地认为输出大小也会受到内存限制的影响。事实证明这是一个硬限制
我的问题#1:升级到更大的计划会给我更大的物品尺寸限制吗
问题#2:有没有关于如何规避这一限制的建议?我知道Zapier目前不支持zap中的循环,但有什么方法可以“编码”这一点吗
我知道也许连续两天运行相同的zap等可能是一种可能性,但在这种情况下还有一些其他缺点
另外,还有一个关于限制的问题:--10秒256MB的运行内存限制:这是每zap一次,还是每代码步一次?也就是说,如果我把我的zap代码分成两部分,那么每一步我都能得到10秒的时间吗
有什么想法吗
Zapier代码步骤基于无服务器体系结构,具有执行时间和内存的上限。它不应该运行长期运行的集成或移动大数据
好问题
不可以。免费用户可以返回25个项目,付费用户可以返回250个项目。这不是一个常用的功能,所以它不是一个流行的功能。我不知道为什么会有这样的限制,但这是一个硬限制
这是每个代码步骤。但是,要注意循环逻辑——如果您将两个都返回数组的代码步骤按顺序放在一起,那么将有大量重复。例如,如果代码步骤A和B中的每一个都是按顺序执行的,并返回10个项目,那么代码步骤B将运行10次并返回100个项目(这可能不是您想要的)
您似乎想要触发器的功能(返回一个对象列表,在每个对象上运行剩余的zap),因此我将您的代码设置为触发器!触发器没有项目限制(虽然有前面提到的数据大小限制,但应该可以)
唯一棘手的部分是让你的Zap在你想要的时候运行。代码触发器在您的轮询窗口中运行(免费用户15分钟,付费用户更快)。因此,除非是指定的运行日期/时间,否则需要在代码顶部使用
if
语句返回[]
。不如计划触发器优雅,但是最后需要注意的一点是,由于您的代码现在是触发器的一部分,因此返回的数据将受deduplication的约束,而它以前不受此约束。确保返回的项目具有唯一的id(如果您希望每次都触发每个项目)或重复id(如果您只对以前从未见过的项目感兴趣)。通过将实际ID与运行日期相结合,可以合成唯一ID
相关问题 更多 >
编程相关推荐