@@ -13,6 +13,7 @@ use tokio::task::JoinHandle;
1313use tokio:: time:: sleep;
1414use tonic_health:: pb:: health_server:: HealthServer ;
1515
16+ use crate :: client:: runtime_execution:: TaurusRuntimeExecutionService ;
1617use crate :: client:: runtime_status:: TaurusRuntimeStatusService ;
1718use crate :: client:: runtime_usage:: TaurusRuntimeUsageService ;
1819use crate :: config:: Config ;
@@ -26,8 +27,12 @@ pub async fn run() {
2627 let client = connect_nats ( & config) . await ;
2728
2829 let mut health_task = spawn_health_task ( & config) ;
29- let ( runtime_status_service, runtime_usage_service, mut runtime_status_heartbeat_task) =
30- setup_dynamic_services_if_needed ( & config) . await ;
30+ let (
31+ runtime_status_service,
32+ runtime_execution_service,
33+ runtime_usage_service,
34+ mut runtime_status_heartbeat_task,
35+ ) = setup_dynamic_services_if_needed ( & config) . await ;
3136
3237 let nats_remote = NATSRemoteRuntime :: new ( client. clone ( ) ) ;
3338 let runtime_emitter = NATSRespondEmitter :: new ( client. clone ( ) ) ;
@@ -36,6 +41,7 @@ pub async fn run() {
3641 engine,
3742 nats_remote,
3843 runtime_emitter,
44+ runtime_execution_service,
3945 runtime_usage_service,
4046 ) ;
4147
@@ -103,15 +109,24 @@ async fn setup_dynamic_services_if_needed(
103109 config : & Config ,
104110) -> (
105111 Option < Arc < TaurusRuntimeStatusService > > ,
112+ Option < TaurusRuntimeExecutionService > ,
106113 Option < TaurusRuntimeUsageService > ,
107114 Option < JoinHandle < ( ) > > ,
108115) {
109116 if config. mode != DYNAMIC {
110- return ( None , None , None ) ;
117+ return ( None , None , None , None ) ;
111118 }
112119
113120 push_definitions_until_success ( config) . await ;
114121
122+ let runtime_execution_service = Some (
123+ TaurusRuntimeExecutionService :: from_url (
124+ config. aquila_url . clone ( ) ,
125+ config. aquila_token . clone ( ) ,
126+ )
127+ . await ,
128+ ) ;
129+
115130 let runtime_usage_service = Some (
116131 TaurusRuntimeUsageService :: from_url ( config. aquila_url . clone ( ) , config. aquila_token . clone ( ) )
117132 . await ,
@@ -168,6 +183,7 @@ async fn setup_dynamic_services_if_needed(
168183
169184 (
170185 runtime_status_service,
186+ runtime_execution_service,
171187 runtime_usage_service,
172188 runtime_status_heartbeat_task,
173189 )
0 commit comments