Мы запланировали задание cron для запуска 5 Elastic Clusters на 7:30, и нам нужно было выполнить другое задание cron, чтобы запустить скрипт в кластере искр на 8:00 AM.
Чтобы запустить скрипт в кластере искр, статус 5 эластичных кластеров должен быть зеленым.В настоящее время я наблюдаю за кластерами ES, если все 5 кластеров не являются зелеными, я отключаю cronjob для запуска сценария в кластере искр.
Я определил описанные ниже методы, чтобы найти состояние кластеров 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, я не должен запускать скрипт в кластере искр.