Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 出现错误时停止重试周期性芹菜任务_Python_Django_Celery_Celerybeat - Fatal编程技术网

Python 出现错误时停止重试周期性芹菜任务

Python 出现错误时停止重试周期性芹菜任务,python,django,celery,celerybeat,Python,Django,Celery,Celerybeat,想象一下芹菜计划中的一个任务,它每分钟运行一次,并且发送错误电子邮件。如果有一个错误,它通常是持久的,比如数据库不可用,所以邮箱会被类似的邮件垃圾邮件发送 可能的解决方法是什么?您可以使用一个标志,以便程序知道它是否已经发送了报警电子邮件,一旦数据库恢复联机,该电子邮件将被设置为False 代码只是这个概念的一个例子。。这和芹菜无关,不过我相信你可以根据自己的需要来做 database_flag = False database = get_database() while True:

想象一下
芹菜计划中的一个任务,它每分钟运行一次,并且发送错误电子邮件。如果有一个错误,它通常是持久的,比如数据库不可用,所以邮箱会被类似的邮件垃圾邮件发送


可能的解决方法是什么?

您可以使用一个标志,以便程序知道它是否已经发送了报警电子邮件,一旦数据库恢复联机,该电子邮件将被设置为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)