Cancellation of futures: f_nocancel, CancelOnShutdownExecutor¶
Futures API¶
Executors API¶
- class more_executors.CancelOnShutdownExecutor(delegate, logger=None, name='default')¶
An executor which delegates to another executor and cancels all futures when the executor is shut down.
This class is useful in conjunction with executors having custom cancel behavior, such as
PollExecutor.Note
From Python 3.9 onwards, the standard
shutdown()method includes acancel_futuresparameter which can be used to cancel futures on shutdown.These two approaches of cancelling futures on shutdown have the following differences:
cancel_futures=Truewill only cancel futures which have not yet started running.CancelOnShutdownExecutorwill attempt to cancel all incomplete futures, including those which are running.
If you’re using other executors from this library and you want to ensure futures are cancelled on shutdown,
CancelOnShutdownExecutorshould be preferred because several of the executor classes in this library do support cancellation of running futures (unlike the executors in the standard library).- Parameters
Changed in version 2.7.0: Introduced
name.
- classmethod Executors.with_cancel_on_shutdown(executor, logger=None)¶
- Returns
a new executor which attempts to cancel any pending futures when the executor is shut down.
- Return type