Bug: Deep health check for outgoing request in scheduler




diff --git a/crates/api_models/src/health_check.rs b/crates/api_models/src/health_check.rs
index e4611f43bcf..2c65c7b6d50 100644
--- a/crates/api_models/src/health_check.rs
+++ b/crates/api_models/src/health_check.rs
@@ -13,6 +13,7 @@ impl common_utils::events::ApiEventMetric for RouterHealthCheckResponse {}
 pub struct SchedulerHealthCheckResponse {
     pub database: bool,
     pub redis: bool,
+    pub outgoing_request: bool,
 }
 
 impl common_utils::events::ApiEventMetric for SchedulerHealthCheckResponse {}
diff --git a/crates/router/src/bin/scheduler.rs b/crates/router/src/bin/scheduler.rs
index 5f98cd88014..59a108ef5e6 100644
--- a/crates/router/src/bin/scheduler.rs
+++ b/crates/router/src/bin/scheduler.rs
@@ -187,11 +187,23 @@ pub async fn deep_health_check_func(
             })
         })?;
 
+    let outgoing_req_check = state
+        .health_check_outgoing()
+        .await
+        .map(|_| true)
+        .map_err(|err| {
+            error_stack::report!(errors::ApiErrorResponse::HealthCheckError {
+                component: "Outgoing Request",
+                message: err.to_string()
+            })
+        })?;
+
     logger::debug!("Redis health check end");
 
     let response = SchedulerHealthCheckResponse {
         database: db_status,
         redis: redis_status,
+        outgoing_request: outgoing_req_check,
     };
 
     Ok(response)

## Type of Change
<!-- Put an `x` in the boxes that apply -->
- [x] Bugfix

## Description
<!-- Describe your changes in detail -->
Closes #3524 . Add an outgoing request check for scheduler.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->
Added a check in scheduler for checking the outgoing requests

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->
- `curl --location 'http://localhost:3000/health/ready'`
- <img width="1305" alt="Screenshot 2024-02-01 at 6 06 36 PM" src="https://github.com/juspay/hyperswitch/assets/43412619/5d1e1525-a408-484f-9749-6affbad3758c">

**This cannot be tested in sandbox as it's not exposed externally in sandbox** 


## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code