schrodinger.seam.testing.failures module¶
A module for testing various ways the SeamRunner handles worker failures / exceptions.
Example Usages:
Force a local worker to OOM
$SCHRODINGER/run python3 -m schrodinger.seam.testing.failures –local-wait-time 10 –pipeline-options=’–max-local-worker-mem=0.1’
Force a remote worker to OOM
$SCHRODINGER/run python3 -m schrodinger.seam.testing.failures –local-wait-time 2 –remote-wait-time 10 –trial-worker-max-walltime 0.1 –pipeline-options=’–max-remote-worker-mem=0.1’
Force a remote worker to exit
$SCHRODINGER/run python3 -m schrodinger.seam.testing.failures –local-wait-time 2 –trial-worker-max-walltime 0.1 –remote-exit
- class schrodinger.seam.testing.failures.FailingTransformSettings(wait_time: float = 0.0, mem: float = 0.0, exception: Exception | None = None, exit: bool = False)¶
Bases:
object
Settings to intentionally fail a transform.
- Variables:
wait_time – Time to sleep in the transform (can force trial worker timeout).
mem – Additional memory to allocate in the transform (can force worker OOM error).
exception – Exception to raise in the transform.
exit – Whether to os._exit() in the transform (can force worker to exit without cleaning up).
- wait_time: float = 0.0¶
- mem: float = 0.0¶
- exception: Exception | None = None¶
- exit: bool = False¶
- __init__(wait_time: float = 0.0, mem: float = 0.0, exception: Exception | None = None, exit: bool = False) None ¶
- class schrodinger.seam.testing.failures.FailingTransform(local_settings: Optional[FailingTransformSettings] = None, remote_settings: Optional[FailingTransformSettings] = None)¶
Bases:
PTransform
A transform that fails intentionally for various reasons.
- __init__(local_settings: Optional[FailingTransformSettings] = None, remote_settings: Optional[FailingTransformSettings] = None)¶
- expand(pcoll)¶
- schrodinger.seam.testing.failures.ger_parser()¶
- schrodinger.seam.testing.failures.process_namespace(namespace: Namespace) Namespace ¶
- schrodinger.seam.testing.failures.main(num_inputs: int = 2, trial_worker_max_walltime: float = 60, local_settings: Optional[FailingTransformSettings] = None, remote_settings: Optional[FailingTransformSettings] = None, options: Optional[PipelineOptions] = None)¶
- schrodinger.seam.testing.failures.tmp_set_trial_worker_max_walltime(value)¶