【问题标题】:Twilio queue overflow error: how large is the queue?Twilio 队列溢出错误:队列有多大?
【发布时间】:2016-06-17 21:08:58
【问题描述】:

Twilio 的 Message 资源有一个“status”属性,该属性指示 SMS 消息是否为“queued”、“sending”、“failed”等。如果 Message 实例未能传递,一个可能的错误消息是“Queue overflow” .在 Twilio 文档中,description for this error case 是:“您尝试发送太多消息太快,并且您的消息队列溢出。请等待一段时间后再尝试发送您的消息。”

错误代码 30001 中引用的队列是该资源的实例吗? https://www.twilio.com/docs/api/rest/queue

或者是 Twilio 最终维护的队列(在 30001 错误代码的情况下)吗?如果 Twilio 在幕后进行节流(每个发送电话号码排队 SMS 消息),那么该队列的大小是多少?在发生错误代码 30001 中引用的队列溢出之前,我们必须超过速率限制(每个电话号码)多少?

【问题讨论】:

    标签: twilio throttling


    【解决方案1】:

    Emily,消息队列与您在上面链接的队列资源无关,它是我们维护的东西。

    Twilio 最多可以排队 4 小时的 SMS。这意味着,we can send out 1 sms per second,如果队列中的消息超过 14,400 条,则所有排队的消息都将失败并出现 30001 错误队列溢出,并且不会发送。此信息适用于长代码号码。上面的链接解释了其他场景的处理。

    避免错误的一些建议:

    • 尽可能将消息保留在最多 160 个字符内。但如果不是 可能,计算每条消息将有多少条 SMS 消息(如果 你不确定你总是可以send 1 test message 看看有多少 您需要为该消息付费)。
    • 基于您的消息为 160 个字符的假设, 将发送速率限制为每小时 3600 条消息(1 条消息/秒 * 60 秒/分钟 * 60 分钟/小时)。

    如果您还有其他问题,请告诉我。

    【讨论】:

    • 谢谢梅根!您提到 Twilio 最多可以排队 4 小时的 SMS。这个队列是按长代码维护的,还是在一个帐户拥有的所有代码之间共享?在场景 A 中,我购买了 10 个长代码和循环。我应该将发送速率限制为 60 条消息/分钟作为所有长代码的吞吐量组合,还是每个长代码可以以 60 条消息/分钟的速率发送而不会产生 30001 错误?在场景 B 中,我添加了 10 个短代码并从长代码和短代码发送 SMS。从我帐户中的所有短代码和长代码发送的消息是否都在同一个队列中?
    • 抱歉耽搁了艾米丽。我相信这是基于每个数字 - 无论场景 A 还是 B。
    【解决方案2】:

    每个 Twilio 电话号码(发件人)都有一个单独的队列,可以在其中排队 14400(4 小时 x 60 分钟 x 60 秒)消息段。 1 秒内发送 1 段。

    • 什么是消息段?

    消息段不是完整的消息,而是消息的一部分。 通常 SMS 以消息段和所有消息的形式发送 段在用户的移动设备上组合以创建实际的 SMS。

    • Twillio 消息段配置:

    1 个字符 = 8 位(1 个字节)

    GSM 编码 = 每个字符 7 位

    UCS-2 编码 = 每个字符 16 位

    数据头 = 每段 6 个字节

    总结:每个字符占用8位,如果使用GSM编码,每个 字符将占用 7 位,或者如果使用 UCS-2 编码,每个字符 将占用 16 位。在多段的情况下,每段 6 个字节 段将用于数据头(负责合并所有 用户手机上同一条短信的片段)

    • 每个消息段的字符:

    单段时的 GSM 编码 = (140 字符字节 x 8 位)/ 7 位 = 160 个字符

    单段 = (140 字符字节 x 8 位)/ 16 时的 UCS-2 编码 位 = 70 个字符

    多段时的 GSM 编码 = ((140 char bytes - 6 header 字节)x 8 位)/ 7 位 = 154 个字符

    多段时的 UCS-2 编码 = ((140 char bytes - 6 header 字节)x 8 位)/ 16 位 = 67 个字符

    根据您的消息使用的编码(通过 Twilio 管理员检查),您可以计算一次队列中可以有多少条 SMS。

    参考资料:

    1. https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues
    2. https://www.twilio.com/blog/2017/03/what-the-heck-is-a-segment.html

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 2016-12-20
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      相关资源
      最近更新 更多