如何使用 Python 中的休眠功能等待 10 分钟并再次检查 运行 脚本?

How to use sleep function in Python to wait for 10 minutes and check again and run the script?

我们已经安排了一个 cron 作业在 7:30 AM 启动 5 个 Elastic 集群,我们还必须安排另一个 cron 作业在 8:00 AM 在 spark 集群中启动一个脚本。

为了运行spark集群中的脚本,5个弹性集群状态应该是绿色的。目前,我正在监控 ES 集群,如果所有 5 个集群都不是绿色,我将禁用 cronjob 到 运行 spark 集群中的脚本。

我定义了以下方法来查找 ES 集群状态并找出有多少 ES 集群是绿色的。

我正在使用以下逻辑来检查是否所有 (5) 个 ES 集群都是绿色的,如果不退出则触发该功能。

def get_es_clusters_status(elastic_load_balancer)
def count_green_es_clusters(es_clusters_status)
es_clusters_status = get_es_clusters_status(lb_instances)
green_es_clusters_count=count_green_es_clusters(es_clusters_status)
    print(green_es_clusters_count)
    if green_es_clusters_count == 5:
        print("YES There are 5 green clusters")
            script_in_spark()
            else:
                 print(" Not all 5 clusters are green exiting....")
                 sys.exit(1)

但我想使用时间模块的睡眠功能并等待 10 分钟,然后再次检查 Green ES 集群计数,如果它们为 5,则触发该功能,否则再等待 10 分钟。除非有 5 个 ES 集群,否则我不应该在 spark 集群中触发脚本。

您的问题的答案很简单。您可以使用 if else 语句来检查是否所有的 Clusters 都是绿色的,并在 else 部分执行睡眠。 if else 语句如下所示:

while clusters!=green:
    time.sleep(600) #This sleeps for 600 seconds, which is 10 minutes. 
    if clusters==green:
        clusters=green #The last 2 lines are not needed but are a foolproof way to make sure your code breaks. 

确保在代码顶部导入时间。