![]() |
Interface defining executor factories.
ExecutorFactory
should be considered to own the executors it creates; it
is responsible for their instantiation and management.
ExecutorFactory
exposes two methods, create_executor
and
clean_up_executors
. There is a particular coupling between these two
methods; any executor returned by create_executor
should not be used
after clean_up_executors
has been called without reinitialization. That is,
create_executor
should be called again, and ExecutorFactory
will ensure
that the returned executor is safe for use.
Methods
clean_up_executors
@abc.abstractmethod
clean_up_executors()
Releases any resources held by the factory.
Note that calling this method may invalidate the state of any executors
which have previously been returned by the factory; create_executor
should be called again if a new executor which is safe to use is desired.
create_executor
@abc.abstractmethod
create_executor( cardinalities:
tff.framework.CardinalitiesType
) ->tff.framework.Executor
Abstract method to construct instance of executor_base.Executor
.
create_executor
must accept a dict mapping
placements.PlacementLiterals
to ints
, and return an
executor_base.Executor
.
Args | |
---|---|
cardinalities
|
a dict mapping instances of
placements.PlacementLiteral to ints, specifying the population
size at each placement.
|
Returns | |
---|---|
Instance of executor_base.Executor .
|