Error handling
Error handling is essential for developing robust and resilient microservices.
Depending on the robustness requirements for your microservice application, error handling can vary from simply catching and logging errors to extensive retry mechanisms or gentle degradation.
Catching and logging errors should be the minimum for our microservices, so we’ll look specifically at that.
Catch and log errors
Python has the try...except
block structure to catch errors and unexpected events and it’s good practice to incorporate this into your workers to make them robust and resilient. Moreover, if we log errors from try...except
blocks, we combine logging and error handling, which further optimizes microservice execution.
For example, we can extend send_email_task
to handle errors like this:
1 import logging 2 from smtplib import SMTPException ... 9 logging.basicConfig(filename="workers_logs.txt", ...