我们使用 MailChimp 批量操作 API,用于在组织上批量运行多个 Mailchimp api 调用,最多 10,000 个。 Mailchimp 将处理所有操作,然后在完成时通知您的 webhooks。
我们使用这些来获取电子邮件营销活动(发送、打开和点击),作为大约 25 个不同的 mailchimp 客户的数据同步的一部分,这些客户希望将该活动同步到不同的应用程序。他们有一个开发人员指南,详细介绍了如何使用批处理操作:https://mailchimp.com/developer/marketing/guides/run-async-requests-batch-endpoint/
本讨论的上下文是批处理操作的可能状态表:
状态 | 描述 |
---|---|
待定 | 批量操作的处理尚未开始。 |
预处理 | 批量请求被分解为更小的操作以加快处理速度。 |
开始了 | 处理已开始。 |
最终确定 | 处理已完成,但正在编译和保存结果。 |
完成了 | 处理完成。您现在可以从response_body_url 中的URL 检索结果。 |
大约一个月前,我们开始看到一些批次的客户陷入预处理状态,然后永远无法完成。 (我非常确定 mailchimp 会在创建 14 天后删除所有未完成的批次)。对于使用不同 mailchimp usX api 区域且处于产品不同层级的客户来说,此问题的表现似乎并不一致。此外,该问题在不同客户订户群的规模上并不一致。
没有关于批处理操作如何以及何时可能被 mailchimp 限制的信息。我想知道是否有人在使用批处理操作时遇到过类似的问题?您是否找到了获得更可靠处理的方法?
如果有 10,000 个项目需要处理,我们过去会创建 10,000 个批次。但最近我们将批量大小限制为 2,000,这似乎加快了处理时间,因为 mailchimp 将实现更高级别的并行化。 mailchimp 处理一批 10,000 个操作可能需要 7-12 小时,但处理 2,000 个操作只需 2-3 小时,这意味着我们可以更快地获得响应。然而,我们有时仍然会在预处理中遇到批次问题。
我们想完全停止使用批处理操作,因为它们变得非常不可靠。然而,我们发现获取营销活动的唯一端点是对列表和联系人进行个性化 查看最近 50 个会员活动,这需要为每个感兴趣列表的每个联系人进行 1 个 api 调用。这意味着如果我们想要获取帐户的所有活动,我们很容易超出 API 限制。
这是过去 15 个月内 mailchimp 对我们的 webhook 的调用图表。在过去的两个月里,您可以看到我们的调用量有所减少,因为我们推出了每 24 小时而不是每 4 小时轮询一次 mailchimp 的更改。这是为了回应我们的假设,即邮件黑猩猩正在默默地限制某些批次。
但是,您可以看到去年 9 月的调用量下降幅度更大。在此期间,我们的应用程序或客户群没有任何变化。我们认为我们的问题可能是在这个时候开始的。有人能找到 mailchimp 在那段时间对这些端点进行更改的公告吗?
在我工作的背景下,我们确实在九月/十月感受到了一些缓慢。我们的批次大小比您的稍大,并且我们并行执行 5 个批次。天气好的时候,需要 7 个半小时才能达到最终状态。
虽然我们在最近的执行中(本月)没有陷入预处理,但我们确实陷入了最终确定状态。如果进程在此状态下停留 X 小时,我们将删除该批次并将其称为超时进程。如果预处理状态停留时间过长,也会执行相同的操作。到目前为止,这就是我们所能做的一切,以确保我们不会陷入永无止境的过程。
我们没有从他们那里得到任何有关端点更新的信息。
当你说:
I'm pretty sure mailchimp deletes any outstanding batches 14 days after they were created
您有相关文件吗?我在 mailchimp 文档中没有找到任何与此相关的内容。
从技术上讲,您知道预处理状态会发生什么吗?我正在尝试解释什么是“小型操作”。
抱歉提出的问题多于答案:)