当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python distributed.active_memory_manager.ActiveMemoryManagerPolicy.run用法及代码示例


用法:

run() → Generator[tuple[str, TaskState, set[WorkerState] | None], WorkerState | None, None]

此方法由 ActiveMemoryManager 每隔几秒调用一次,或者每当用户调用 client.amm.run_once 时调用。它是一个迭代器,必须发出以下任何内容:

  • “replicate”,<任务状态>,无
  • “replicate”, <TaskState>, {要复制到的潜在工作人员的子集}
  • “drop”,<任务状态>,无
  • “drop”, <TaskState>, {要删除的潜在工人的子集}

产生的每个元素都表示希望创建或销毁 key 的单个副本。如果未提供工作人员的子集,则默认为集群上的所有工作人员。 ActiveMemoryManager 或 Worker 稍后可能会决定忽略该请求,例如因为它会删除 key 的最后一个副本,或者因为该工作人员当前需要该 key 。

您可以选择检索决定将 key 复制到或删除的工作人员,如下所示:

choice = (yield "replicate", ts, None)

choice 是 WorkerState 或 None;如果 ActiveMemoryManager 选择忽略请求,则返回后者。

可以在 self.manager.pending 上检查当前待处理(已接受)的命令;这包括以前由相同方法产生的命令。

每个工作人员的当前内存使用情况,所有待处理命令的下游, 可以检查self.manager.workers_memory.

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 distributed.active_memory_manager.ActiveMemoryManagerPolicy.run。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。