Reload Dask worker containers automatically on code change

ps0*_*604 6 python docker dask dask-distributed

I have the Dask code below that submits N workers, where each worker is implemented in a Docker container:

default_sums = client.map(process_asset_defaults, build_worker_args(req, numWorkers))
future_total_sum = client.submit(sum, default_sums)
total_defaults_sum = future_total_sum.result()
Run Code Online (Sandbox Code Playgroud)

where process_asset_defaults is a method in a worker.

问题是在开发环境中,当我更改工作人员的代码时,我需要手动重新启动所有容器以使更改生效。

有没有办法在不重新启动工作人员的情况下使用新代码重新加载工作人员?

注意:代码驻留在 Docker 卷中,我使用 Visual Studio Code 直接在卷中更改它。

Sul*_*yev 1

如果更改的代码是函数的内容,则可以使用autoreload

import importlib
importlib.reload(process_asset_defaults) # if this is the function that needs updating
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅博客文档。