yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Quintiq file version 2.0
#parent: #root
MethodOverride Operation (LibOpt_Task task) as stream[JSON]
{
  Description: 'Create new iterations, and after every iteration finishes, call the `Operation` again so a new iteration can be created.'
  TextBody:
  [*
    result := stream[JSON]::Success();
    
    if( task.CanContinue() )
    {
      // Get the `LibOpt_TaskContextIterator` so we know the amount of iterations that are currently running and that we have created in the past.
      context := task.TaskContext().astype( LibOpt_TaskContextIterator );
      if( isnull( context ) )
      {
        context := task.TaskContext( relnew, LibOpt_TaskContextIterator );
      }
      
      // Create the iterations
      result := this.StartIterations( task, context );
    }
    
    return result;
  *]
}