gpt4 book ai didi

python - 限制我的程序通过 SQS 发送过多 SES 电子邮件的速率

转载 作者:行者123 更新时间:2023-12-04 04:22:13 26 4
gpt4 key购买 nike

我想一次发送 10000 封个人邮件;可能来自大型 for 循环:

for user in _10000_users:
msg = generate_message( user)
if(ses.can_send_more_messages == False):
sleep( 0.1) #to throttle ourselves
ses.send_message( msg)

但我担心我们的 SES 帐户上的 70 封邮件/秒限制。所以我希望我的程序通过检查队列来遵守这个限制,如果超过限制就等待,只有当它清除时才再次发送。

我在 Python 中使用 boto 与 SQS 交互。而且我希望只有一台机器发送消息,尽管将来多台机器可能会并行发送消息而彼此不知道。

如何通过检查队列或使用特定于 Python 的技术将电子邮件速率限制为每秒 70 封?

最佳答案

您可以像下一个代码示例所示那样计算每秒消息速率:

from time import time

time_started = time()
messages_sent = 0.
MAX_PER_SEC = 70

for user in _10000_users:
msg = generate_message(user)
if messages_sent / (time() - time_started) >= MAX_PER_SEC: # Rate condition
sleep(0.1)
ses.send_message(msg)
messages_sent += 1

关于python - 限制我的程序通过 SQS 发送过多 SES 电子邮件的速率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11988477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com