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


Python distributed.diagnostics.plugin.SchedulerPlugin用法及代码示例


用法:

class distributed.diagnostics.plugin.SchedulerPlugin

扩展调度器的接口

调度程序通过触发和响应 task_finished , update_graph , task_erred 等事件来运行。

插件使自定义代码能够在每个相同的事件中运行。当每个事件被触发时,调度程序将在这个类上运行类似的方法。这在调度程序线程中运行用户代码,可以与调度程序本身同步执行任意操作。

插件通常用于诊断和测量,但可以完全访问调度程序,并且原则上可能会影响核心调度。

要实现插件,请实现此类的一些方法,并使用 Scheduler.add_plugin(myplugin) 将插件添加到调度程序。

例子

>>> class Counter(SchedulerPlugin):
...     def __init__(self):
...         self.counter = 0
...
...     def transition(self, key, start, finish, *args, **kwargs):
...         if start == 'processing' and finish == 'memory':
...             self.counter += 1
...
...     def restart(self, scheduler):
...         self.counter = 0
>>> plugin = Counter()
>>> scheduler.add_plugin(plugin)

相关用法


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