我们有一个包含许多任务的大型项目.我们使用简单图表来安排每个任务.该图的一小部分示例如下.请注意,dask设置为多处理模式.dask_graph:universe: !!python/tuple [gcsstrategies.svc.business_service.UniverseSer...

我们有一个包含许多任务的大型项目.我们使用简单图表来安排每个任务.该图的一小部分示例如下.请注意,dask设置为多处理模式.
dask_graph:
universe: !!python/tuple [gcsstrategies.svc.business_service.UniverseService.load_universe_object, CONTEXT]
raw_market_data: !!python/tuple [gcsstrategies.svc.data_loading_service.RDWLoader.load_market_data, CONTEXT, universe]
raw_fundamental_data: !!python/tuple [gcsstrategies.svc.data_loading_service.RDWLoader.load_fundamental_data, CONTEXT, universe]
dask_keys: [raw_fundamental_data]
现在,其中一项任务raw_fundamental_data使用@delay懒惰地调度了dask任务,并使用dask.compute()运行了它们.选择此设计的原因是,将在运行时根据运行时参数动态选择在raw_fundamental_data中由dask计划并懒惰运行的任务列表.
我们看到的错误是:
daemonic processes are not allowed to have children
我们了解这是因为产生的进程正在尝试产生子代.有什么解决办法吗? dask是否可以通过@delay或其他方法允许通过daskgraph计划的任务计划并延迟运行自己的任务?
请注意,在我们的系统中,有许多任务将使用多重处理来运行自己的任务.因此,顺序执行不是一个选择.
解决方法:
多处理调度程序无法执行这种操作.但是,distributed scheduler是(您也可以在单台计算机上轻松使用分布式调度程序.
相关文档页面在这里:
> http://distributed.readthedocs.io/en/latest/task-launch.html
> http://dask.readthedocs.io/en/latest/scheduler-choice.html
这是一个小例子
In [1]: from dask.distributed import Client, local_client
In [2]: def f(n):
...: with local_client() as lc:
...: futures = [lc.submit(lambda x: x + 1, i) for i in range(n)]
...: total = lc.submit(sum, futures)
...: return total.result()
...:
In [3]: c = Client() # start processes on local machine
In [4]: future = c.submit(f, 10)
In [5]: future.result()
Out[5]: 55
这使用并发.futures接口而不是dask.delayed进行dask,但是您也可以使用dask.delayed.参见http://distributed.readthedocs.io/en/latest/manage-computation.html
本文标题为:python-在dask生成的进程中调用dask


基础教程推荐
- centos7安装python3.5后文件不兼容问题 2023-09-03
- 如何在关机时通过无限循环停止Python守护进程线程? 2023-11-11
- python中not not x 与bool(x) 的区别 2023-08-11
- Python实现批量将MP3音频转为WAV格式详解 2023-08-09
- python读取文件夹中图片的图片名并写入excel表格 2023-08-11
- linux@ubuntu工具Eclipse配置python的pydev开发环境 2023-09-03
- [转] python numpy 导致多进程绑定同一个CPU问题解决方法 2023-09-03
- python 进程池pool 2023-09-04
- python文本进度条实例 2023-08-05
- 八、阿里云CentOS7安装python3 2023-09-03