如何在不同于提交Dask计算的机器上获得Dask计算的结果?
我在Django服务器后面使用Dask,这里总结了我的基本设置:在这里可以找到Dask客户端: 我希望能够将任务的保存与提交任务的服务器分开,以实现健壮性和可伸缩性。我还想了解更多关于任务处理状态的详细信息,目前,即使任务正在处理,未来状态始终处于挂起状态。有一个完成百分比的粗略估计也很好 现在,如果web服务器死掉,客户端将被删除,任务将停止,因为没有客户端仍然拥有未来。我可以通过使用解决这个问题,但是当任务完成时,我无法保存任务状态和结果 火灾和遗忘后跟踪状态和保存结果的方法:如何在不同于提交Dask计算的机器上获得Dask计算的结果?,dask,dask-distributed,dask-delayed,Dask,Dask Distributed,Dask Delayed,我在Django服务器后面使用Dask,这里总结了我的基本设置:在这里可以找到Dask客户端: 我希望能够将任务的保存与提交任务的服务器分开,以实现健壮性和可伸缩性。我还想了解更多关于任务处理状态的详细信息,目前,即使任务正在处理,未来状态始终处于挂起状态。有一个完成百分比的粗略估计也很好 现在,如果web服务器死掉,客户端将被删除,任务将停止,因为没有客户端仍然拥有未来。我可以通过使用解决这个问题,但是当任务完成时,我无法保存任务状态和结果 火灾和遗忘后跟踪状态和保存结果的方法: 我可以有一个
编辑:刚刚测试过,似乎当提交任务的客户端关闭时,它创建的所有未来都从处理转移到遗忘,即使打电话给fire_和_忘记。你也可能想看看达斯克的协调原则,比如排队和酒吧/酒吧。我的猜测是,把你的未来放在一个队列中可以解决你的问题
谢谢,这正是我需要的。将未来放入队列,以便客户端可以重新启动,并让单独的进程检查队列中是否有已完成的未来。谢谢期货可以存储在像redis商店这样的东西里吗?未来的钥匙可以是,任何过程都可以用这个钥匙重建未来。不过,这只是一个指针。您仍然需要Dask在某个地方把握未来,以确保数据得以保存。