长时间运行的进程如何返回结果?

长时间运行的进程如何返回结果?

我计划在远程 Linux 计算机上运行一个长时间运行的进程(Blender 渲染,从 5 分钟到一个小时)。我目前想到的是一个非常简单的过程:

  1. 将文件移动到远程计算机
  2. 使用 ssh 开始渲染
  3. 获取渲染输出文件

这将是一两个 bash 脚本 - 没有更复杂的了。

在理想的情况下,我会断开与远程计算机的 ssh 会话,并且仅在渲染完成后获取文件。只要需要获得渲染,等待就可以。

断开连接似乎是正确的做法,因为我可能会同时在 20 台计算机上启动渲染 - 我不知道保持尽可能多的 ssh 会话是否是一个好主意。

处理这个问题最简单的方法是什么?

我正在考虑几个替代方案:

  • 使用 ssh 定期检查远程计算机上是否有搅拌机进程正在运行,以及输出文件是否可用
  • 让远程计算机上的curl将渲染过程的结果上传到发出请求的计算机

这里的事情是:

  • 原始计算机可能位于 NAT 之后
  • 渲染机可以动态配置以应对高峰需求

是否有更好的东西是我——由于我对这些事情的无知——不知道的?

相关内容