这一点只适用于感兴趣的人,但因为我们故意在小成本的情况下完成此操作,所以我们遇到了一些奇怪的问题 – 主要是当我们的机器人暂时没有激活时向我们的机器人发出请求。
当 Twilio 一段时间以来第一次收到消息时,它会很快启动,并期望其他东西也会这样做。例如,当 Twilio 向我们的代码发出请求时,如果花费的时间超过大约五秒,它就会假定代码失败。这并不罕见——许多聊天平台都要求最长五秒的周转时间。
即使内存限额较低
Cloud Functions 也能够运行得相当快,但通过 API 访问时,Google Sheets 似乎总是有点慢。事实上,如果一段时间没有访问,Google 表格会特别慢。
这可能意味着,如果最近没有人使用您的机器人,则 Google Sheets API 第一次响应时间过长,并且 Twilio 在我们的代码返回之前就放弃了,从而导致错误。
我们的脚本中有几个部分旨在避免这种情况。
再试一次
第一次激活云功能时,我们不希望它实际改变任何东西,我们只是 电报数据 想要信息。因此,在 Twilio 中,我们首先创建一个名为“retries”的变量并将其值设置为 0。
如果请求失败,我们检查重试值是否为 0。如果是,则将重试值设置为 1 并重试。如果第二次失败,我们不想永远这样做,所以我们发送一个错误并在那里停止。
唤醒床单
第二次激活云功能时,我们确实希望它执行某些操作。如果没有及时返回,我们就不能再做一次,因为我们最终会收到重复的订单,这对餐厅来说是一个头疼的问题。
相反,在交换的早期部分,我们对其中一张工作表进行了毫无意义的更改,只是为了在我们进行重要更改时做好准备。
在我们的对话流程中,我们:
发送菜单
得到回应
询问用户名
写下订单
在第四步之前,我们不需要对订单表执行任何操作,但在收到用户 艾米·高夫 执行董事 的响应后(在询问他们的姓名之前),我们激活一次代码,将一些无用的内容写入订单表中。我们对 Twilio 说——无论成功还是失败——继续进行互动,因为此时我们是否及时返回并不重要。然后,希望当我们开始编写订单时,Google 表格已准备好进行实际使用。
有限制
Google Sheets 不是理想的数据库 – 它速度很慢,并且可能意味着我们会错过 Twilio 的超时。但这几个额外的步骤可以帮助我们解决其中的一些限制。
返回顶部
罗宾·洛德
关于罗宾·洛德
Robin 是 Aira 战略与创新副总监。
机器学习(人工智能的一个分支,研究计算机算法的自动改进)可能看 安圭拉讯息 起来远远超出了 SEO 工作的范围。 MozCon 演讲者(全能 SEO 天才)布兰妮·穆勒 (Britney Muller) 周五将带着特别版的 Whiteboard 向您展示为什么这不是真的,并提供一些入门步骤。您可以在此处访问视频中讨论的 Colab 笔记本。
要了解 Britney 的机器学习以及我们在 MozCon 2020 上的其他演示的更多信息,请查看今年的视频包。