Je souhaite envoyer 10 000 courriers électroniques à la fois; peut-être d'une grande boucle for
:Limitation du débit de mon programme par l'envoi d'un trop grand nombre d'emails SES via SQS
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)
Mais je suis inquiet au sujet des 70 mails/seconde accélérateur sur notre compte SES. Donc, je veux que mon programme respecte cette limite par en inspectant la file d'attente et attende si elle a dépassé la limite et envoie à nouveau seulement si elle est vide. J'utilise boto en Python pour interfacer avec SQS. Et je m'attends à ce qu'une seule machine envoie des messages, bien que dans le futur plusieurs machines puissent envoyer des messages en parallèle en s'ignorant les uns les autres.
Comment est-ce que je peux limiter la vitesse des emails à 70 par seconde en inspectant la file d'attente ou en utilisant une technique spécifique à Python?
j'avais les files d'attente et des tampons à l'esprit. C'est parfait! – aitchnyu
Pouvez-vous expliquer comment fonctionne ce qui précède, en essayant d'utiliser la logique dans une application multithread. Merci. – kodepet