出错时停止重试定期芹菜任务



想象一个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)

最新更新