Opened 3 years ago

Closed 3 years ago

#2506 closed enhancement (invalid)

Possibility to abort a running algorithm/engine

Reported by: mkommend Owned by:
Priority: medium Milestone: HeuristicLab 4.0
Component: Optimization Version:
Keywords: Cc:

Description

Currently there is no way to stop a long running operator in HL except than closing HL and loosing all unsaved work. There should be a possibility to abort the execution of an algorithm / engine without the need of waiting for the current operation to be finished. This abort should never create a run object and automatically resets the algorithm / engine.

Change History (3)

comment:1 Changed 3 years ago by abeham

Good point!

comment:2 Changed 3 years ago by swagner

The Execute method of operators takes a CancellationToken as one of its parameters which is then stored in the CancellationToken property (see HeuristicLab.Operators.Operator). This cancellation token can be used to react on aborts. Therefore aborting of operators is already built in, but it has to be implemented specifically in each operator how exactly the operator should react on aborts. As this behavior is very specific for each operator, I think that it cannot be implemented in a generic way in one of our base classes.

comment:3 Changed 3 years ago by mkommend

  • Resolution set to invalid
  • Status changed from new to closed
  • Version 3.3.12 deleted

Unfortunately swagner is right and it is not possible using the TPL to abort running tasks in a clean way outside of the specific task. I thought this would be possible and therefore created that ticket.

Note: See TracTickets for help on using tickets.