def get_health(): """Return the health of the airflow scheduler and metadatabase""" metadatabase_status = HEALTHY latest_scheduler_heartbeat = None scheduler_status = UNHEALTHY try: scheduler_job = SchedulerJob.most_recent_job() if scheduler_job: latest_scheduler_heartbeat = scheduler_job.latest_heartbeat.isoformat( ) if scheduler_job.is_alive(): scheduler_status = HEALTHY except Exception: metadatabase_status = UNHEALTHY payload = { "metadatabase": { "status": metadatabase_status }, "scheduler": { "status": scheduler_status, "latest_scheduler_heartbeat": latest_scheduler_heartbeat, }, } return health_schema.dump(payload)
def test_serialize(self): payload = { "metadatabase": {"status": "healthy"}, "scheduler": {"status": "healthy", "latest_scheduler_heartbeat": self.default_datetime,}, } serialized_data = health_schema.dump(payload) self.assertDictEqual(serialized_data, payload)