首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python中的睡眠函数等待10分钟,并再次检查并运行脚本?

如何使用Python中的睡眠函数等待10分钟,并再次检查并运行脚本?
EN

Stack Overflow用户
提问于 2019-05-17 04:48:37
回答 1查看 1.9K关注 0票数 0

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

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

我定义了下面的方法来发现ES集群的状态,并找出有多少ES集群是绿色的计数。

我正在使用下面的逻辑来检查是否所有(5) ES集群都是绿色的,如果没有退出,则触发函数。

代码语言:javascript
复制
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分钟,并再次检查绿色ES集群计数,如果它们是5,触发函数,否则等待10分钟。除非有5个ES集群,否则我不应该在spark集群中触发脚本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 05:09:09

你的问题的答案相当简单。您可以使用if else语句检查是否所有集群都是绿色的,并在else部分进行休眠。下面是if else语句的样子:

代码语言:javascript
复制
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. 

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56176395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档