Quintiq file version 2.0
|
#parent: #root
|
MethodOverride ShouldStop (
|
LibOpt_Task task
|
) as Boolean
|
{
|
Description:
|
[*
|
Whether the `LibOpt_Iterator` should stop.
|
When `true` is returned, all ongoing iterations spawned by the `LibOpt_Iterator` will be aborted.
|
*]
|
TextBody:
|
[*
|
context := task.TaskContext().astype( LibOpt_TaskContextIterator );
|
iterations := context.CurrentIteration() >= this.MaxIterations()
|
local_duration := DateTime::ActualTime() - context.TimeStamp() >= this.MaxDurationLocal();
|
global_duration := DateTime::ActualTime() - task.Run().StartedOn() >= this.MaxDurationGlobal();
|
|
return iterations or local_duration or global_duration;
|
*]
|
}
|