parsl.dataflow.memoization.Memoizer
- class parsl.dataflow.memoization.Memoizer[source]
Defines the interface for the DFK to talk to the memoization/checkpoint system.
The DFK will invoke these methods on an instance of a Memoizer at suitable points in the lifecycle of a task. These methods are not intended for users to invoke directly.
Methods
__init__()check_memo(task)Asks the checkpoint system for a result recorded for the described task.
close()Called at DFK shutdown.
start(*, run_dir, config_run_dir)Called by the DFK when it starts up.
update_memo_exception(task, e)Called by the DFK when a task completes with an exception.
update_memo_result(task, r)Called by the DFK when a task completes with a successful result.
- abstractmethod check_memo(task: TaskRecord) Future[Any] | None[source]
Asks the checkpoint system for a result recorded for the described task.
check_memoshould return aFuturethat will be used as an executor future, in place of sending the task to an executor for execution. That future should be populated with a result or exception.
- abstractmethod close() None[source]
Called at DFK shutdown. This gives the checkpoint system an opportunity for graceful shutdown.
- abstractmethod start(*, run_dir: str, config_run_dir: str) None[source]
Called by the DFK when it starts up.
This is an opportunity for the memoization/checkpoint system to initialize itself.
The path to the per-run run directory and the base run directory are passed as parameters.
- abstractmethod update_memo_exception(task: TaskRecord, e: BaseException) None[source]
Called by the DFK when a task completes with an exception.
On every task completion, either this method or
update_memo_resultwill be called, but not both.This is an opportunity for the memoization/checkpoint system to record the outcome of a task for later discovery by a call to check_memo.
- abstractmethod update_memo_result(task: TaskRecord, r: Any) None[source]
Called by the DFK when a task completes with a successful result.
On every task completion, either this method or
update_memo_exceptionwill be called, but not both.This is an opportunity for the memoization/checkpoint system to record the outcome of a task for later discovery by a call to check_memo.