电报机器人是否延迟生产?
Are telegram bot's delay for production?
根据电报机器人 documentation:“API 每秒不允许超过 30 条消息”和“ API 不允许每秒向超过 30 个用户发送批量通知"
我已将 bot 连接到我的 python 网络应用程序,我正在使用 for 循环来遍历订阅我的 bot 的用户列表,向他们每个人发送消息。如果我有超过 30 个用户,在每次循环迭代之间造成大约 1 秒的延迟(使用 sleep() )以绕过上述限制是个好主意。目前我的应用程序正在开发中,所以我无法对其进行测试,所以有人能告诉我这是一个好策略还是有更好的方法可用,或者我不应该使用电报机器人进行生产?
更新 经过试验,我发现每次调用 sendMessage 在我的本地机器上都需要大约 0.8 秒才能完成。那么我应该关心 30 message/sec 还是 30 users/sec
的限制
使用sleep()
可以,但不能保证长期有好的结果。
我建议您设置一个队列,以限制发送超过 30 个 messages/second。这是它的发展example how to implement that queue in case if you use python-telegram-bot。
否则,您可能会遇到以下一些问题:
- 并行发送超过限制的消息process/thread/worker,这不是批量的一部分;
- 发送超过 1000 条消息的时间太长(已经 17 分钟了);
- 机器人在此期间无法响应一般更新的问题
等等。
根据电报机器人 documentation:“API 每秒不允许超过 30 条消息”和“ API 不允许每秒向超过 30 个用户发送批量通知"
我已将 bot 连接到我的 python 网络应用程序,我正在使用 for 循环来遍历订阅我的 bot 的用户列表,向他们每个人发送消息。如果我有超过 30 个用户,在每次循环迭代之间造成大约 1 秒的延迟(使用 sleep() )以绕过上述限制是个好主意。目前我的应用程序正在开发中,所以我无法对其进行测试,所以有人能告诉我这是一个好策略还是有更好的方法可用,或者我不应该使用电报机器人进行生产?
更新 经过试验,我发现每次调用 sendMessage 在我的本地机器上都需要大约 0.8 秒才能完成。那么我应该关心 30 message/sec 还是 30 users/sec
使用sleep()
可以,但不能保证长期有好的结果。
我建议您设置一个队列,以限制发送超过 30 个 messages/second。这是它的发展example how to implement that queue in case if you use python-telegram-bot。
否则,您可能会遇到以下一些问题:
- 并行发送超过限制的消息process/thread/worker,这不是批量的一部分;
- 发送超过 1000 条消息的时间太长(已经 17 分钟了);
- 机器人在此期间无法响应一般更新的问题
等等。