如果在短时间内提交大量任务,我遇到了一个问题,即 dask 调度程序被杀死(尽管工作人员继续运行)并出现内存错误。
如果可以获取集群上当前的任务数,那么就很容易控制提交到集群的并发任务数。
注意:任务正在从多个客户端提交到同一个调度程序。
如果在短时间内提交大量任务,我遇到了一个问题,即 dask 调度程序被杀死(尽管工作人员继续运行)并出现内存错误。
如果可以获取集群上当前的任务数,那么就很容易控制提交到集群的并发任务数。
注意:任务正在从多个客户端提交到同一个调度程序。
您可以使用client.run_on_scheduler方法在调度程序上运行任意 Python 函数。
使用它,您可以查看您喜欢 的任何调度程序状态。
client.run_on_scheduler(lambda dask_scheduler: dask_scheduler.tasks)
请注意,调度程序可以处理数百万个任务。如果您接近这一点,那么您可能应该重新考虑如何使用 Dask。为了获得最佳性能,您应该选择需要数百毫秒或更长时间的任务。