Tame Your Uptime Bot
00:00 In the previous lesson, you refactored your uptime bot so that it now lives inside of a function and has a bit of a nicer output, but you maybe also thought about a little problem that might come up.
It just keeps running into more errors without any sort of notification or any end in sight, and that’s not really what you want from your bot. So in this lesson, you’re going to tame your bot a little bit, refactor a bit more, and just add an amount of retries that you want to specify, and after that amount of retries, you want to do something else—for example, send an email to you as the administrator. Back here in the code, what you want to do is add an additional argument to your function that I will call
retries. I give it a default value of
3. Now, instead of doing
while True: you’re going to say if a value that you could call
fails is smaller than the
retries, then you want to execute this loop. Now, of course, you need to define this variable as well, so you can say
fails starts off as
while loop is only going to execute until the code runs into three exceptions. And once that happens, it’s going to jump out of the
while loop. So down here, you’re going to want to do something else—for example, send an email to you as the administrator so that you can get notified when your site is actually down, when it’s not just one blip for some reason, but it’s actually consistently trying to reach it three times for your specified amount of time in between. The site just doesn’t come back up, so in that case, you want to send an email. I’m going to point you to resources on how to do this at the end of this course. In this lesson, you added a retries functionality and added the variable
fails that makes sure that your code only checks a couple of times before doing something else.
while loop will quit once it ran into three exceptions, and then you want to do something else. And in the next lesson, I’m going to point you to a couple of resources on Real Python where you could implement something like a sending email functionality.
Become a Member to join the conversation.