@@ -63,44 +63,63 @@ internal EventDrivenScriptExecutor(ITentacleClientTaskLog logger,
6363 return ( new ScriptStatus ( ProcessState . Complete , ScriptExitCodes . UnknownScriptExitCode , new List < ProcessOutput > ( ) ) , new DefaultTicketForNextStatus ( new ScriptTicket ( Guid . NewGuid ( ) . ToString ( ) ) , 0 , ScriptServiceVersion . ScriptServiceVersion1 ) ) ;
6464 }
6565
66- var scriptOrchestratorFactory = new ScriptOrchestratorFactory ( clientsHolder ,
67- new DefaultScriptObserverBackoffStrategy ( ) ,
68- rpcCallExecutor ,
69- operationMetricsBuilder ,
70- status => { } ,
71- token => Task . CompletedTask ,
72- onCancellationAbandonCompleteScriptAfter ,
73- clientOptions ,
74- logger ) ;
66+ var scriptOrchestratorFactory = GetNewScriptOrchestratorFactory ( operationMetricsBuilder ) ;
7567
7668 var orchestrator = scriptOrchestratorFactory . CreateOrchestrator ( scriptServiceToUse ) ;
77-
78- // and return stuff.
79- throw new System . NotImplementedException ( ) ;
69+ return await orchestrator . StartScript ( executeScriptCommand , cancellationToken ) ;
8070 }
8171
82- public Task < ( ScriptStatus , ITicketForNextStatus ) > GetStatus ( ITicketForNextStatus ticketForNextNextStatus , CancellationToken cancellationToken )
72+ public async Task < ( ScriptStatus , ITicketForNextStatus ) > GetStatus ( ITicketForNextStatus ticketForNextNextStatus , CancellationToken cancellationToken )
8373 {
84-
85- ScriptOrchestratorFactory scriptOrchestratorFactory = null ! ;
86- var orch = scriptOrchestratorFactory . CreateOrchestrator ( ticketForNextNextStatus . WhichService ) ;
74+ var operationMetricsBuilder = ClientOperationMetricsBuilder . Start ( ) ;
8775
88- throw new System . NotImplementedException ( ) ;
76+ var scriptOrchestratorFactory = GetNewScriptOrchestratorFactory ( operationMetricsBuilder ) ;
77+
78+ var orchestrator = scriptOrchestratorFactory . CreateOrchestrator ( ticketForNextNextStatus . WhichService ) ;
79+
80+ return await orchestrator . GetStatus ( ticketForNextNextStatus , cancellationToken ) ;
8981 }
9082
91- public Task < ( ScriptStatus , ITicketForNextStatus ) > CancelScript ( ITicketForNextStatus ticketForNextNextStatus , CancellationToken cancellationToken )
83+ public async Task < ( ScriptStatus , ITicketForNextStatus ) > CancelScript ( ITicketForNextStatus ticketForNextNextStatus , CancellationToken cancellationToken )
9284 {
93- throw new System . NotImplementedException ( ) ;
85+ var operationMetricsBuilder = ClientOperationMetricsBuilder . Start ( ) ;
86+
87+ var scriptOrchestratorFactory = GetNewScriptOrchestratorFactory ( operationMetricsBuilder ) ;
88+
89+ var orchestrator = scriptOrchestratorFactory . CreateOrchestrator ( ticketForNextNextStatus . WhichService ) ;
90+
91+ return await orchestrator . Cancel ( ticketForNextNextStatus , cancellationToken ) ;
9492 }
9593
9694 public Task < ( ScriptStatus , ITicketForNextStatus ) > CancelScript ( ScriptTicket scriptTicket , CancellationToken cancellationToken )
9795 {
96+ var operationMetricsBuilder = ClientOperationMetricsBuilder . Start ( ) ;
9897 throw new System . NotImplementedException ( ) ;
9998 }
10099
101- public Task CleanUpScript ( ScriptTicket scriptTicket , CancellationToken cancellationToken )
100+ public async Task CleanUpScript ( ITicketForNextStatus ticketForNextNextStatus , CancellationToken cancellationToken )
102101 {
103- throw new System . NotImplementedException ( ) ;
102+ var operationMetricsBuilder = ClientOperationMetricsBuilder . Start ( ) ;
103+
104+ var scriptOrchestratorFactory = GetNewScriptOrchestratorFactory ( operationMetricsBuilder ) ;
105+
106+ var orchestrator = scriptOrchestratorFactory . CreateOrchestrator ( ticketForNextNextStatus . WhichService ) ;
107+
108+ await orchestrator . Finish ( ticketForNextNextStatus , cancellationToken ) ;
104109 }
110+
111+ ScriptOrchestratorFactory GetNewScriptOrchestratorFactory ( ClientOperationMetricsBuilder operationMetricsBuilder )
112+ {
113+ return new ScriptOrchestratorFactory ( clientsHolder ,
114+ new DefaultScriptObserverBackoffStrategy ( ) ,
115+ rpcCallExecutor ,
116+ operationMetricsBuilder ,
117+ status => { } ,
118+ token => Task . CompletedTask ,
119+ onCancellationAbandonCompleteScriptAfter ,
120+ clientOptions ,
121+ logger ) ;
122+ }
123+
105124 }
106125}
0 commit comments