【问题标题】:Mutual protect shared file access相互保护共享文件访问
【发布时间】:2019-04-30 14:32:43
【问题描述】:

我正在用 python 编写一个 RunManager,它应该在远程服务器上安排任务(使用 SSH。每个任务都是一个进程)。

对于调度,我在远程服务器上使用了一个共享的 slots 文件,它表示该服务器上可用的插槽数。

现在,每个用户都运行一个 RunManager 实例,因此可能会对插槽文件进行并行访问。有没有办法让我自动增加/减少槽数(防止竞争条件)?

在 Google 上搜索“相互保护共享文件”会产生极其不相关的结果。

【问题讨论】:

    标签: python bash ssh


    【解决方案1】:

    This helpful SO question 详细介绍了在 Python 中锁定文件的几种可能方法,但许多答案指出了可靠地这样做的困难(有很多可能出错的地方)。

    我建议使用内存存储(如 Redis)或数据库,然后您的每个进程都可以与之通信。另一种选择是让另一个进程控制读取和写入,并与其他进程通信,但这样做是一项相当大的工作,最终基本上相当于成为一个数据库服务器。

    在我看来,您应该使用正确的工具来完成工作(数据库)。

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 2012-02-12
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2011-07-13
      • 1970-01-01
      相关资源
      最近更新 更多