Я бы хотел приостановить работу групп доступности базы данных, которые являются бездействующими и избыточными. Как узнать, какие группы доступности базы данных не приостановлены, а какие приостановлены?
Итак, у меня есть список групп доступности базы данных, которые должны быть приостановлены с помощью команды bash, котораявыполняет airflow pause <dag_id>
.Я хотел бы знать, является ли команда успешной или нет, проверяя состояние pause
каждой группы доступности базы данных.Я проверил airflow webserver
и похоже, что все мои приостановленные группы доступности баз данных все еще работают.
def pause_idle_dags(dags = ["myTutorial"]):
"""
Pauses dags from the airflow
:param dags: dags considered to be idle
:return: Success state
"""
# TODO
for dag in dags:
command = "airflow pause {}".format(dag)
print(executeBashCommand(command))
def executeBashCommand(command):
print('========RUN========', command)
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
if p.returncode != 0:
print('========STDOUT========\n',stdout.decode())
print('========STDERR========\n',stderr.decode())
raise Exception('There is error while executing bash command: '+command+'\nwith log:\n'+stderr.decode())
return stdout, stderr