想象一个celery schedule
中的任务,它每分钟运行一次,并在出现错误时发送电子邮件。如果有错误,它通常是持久的,比如数据库不可用,所以邮箱会收到类似的垃圾邮件。
有哪些可能的解决方法?
您可以使用一个标志,以便程序知道它是否已经发送了警报电子邮件,一旦数据库重新联机,该警报电子邮件将设置回 False
代码只是这个概念的一个例子......它与芹菜无关,但我相信你可以使用它来满足你的需求。
database_flag = False
database = get_database()
while True:
if not database.is_faulted():
database_flag = False
elif database.is_faulted() and not database_flag:
send_email()
database_flag = True
time.sleep(60)