假设我有一个 python 脚本,它监视一个文件夹中的新文件,然后根据某些标准(以它们的名称)处理这些文件(一次一个)。
我需要同时运行几个这样的“观察者”,以便他们可以一次处理多个文件。(渲染视频中。)
一旦观察者拿起一个文件进行处理,它就会重命名它(前置rendering_
)
确保 2 个或更多观察者不会同时拾取同一个文件并尝试呈现同一个作业的最佳方法是什么?
我唯一的想法是让每个“观察者”只在当前时间(以秒为单位)为 x 时检查,这样进程 1 就会检查它的时间是 :01 一分钟后,等等。但这似乎很愚蠢,我们必须等待一个完整的时间每次检查一分钟。
只是为了澄清......说我有4个watcher
运行实例。在监视文件夹中添加了 7 个项目:job1
.. job7
. 我想要 1 个观察者接 1 个工作。
当观察者完成后,它应该抓住下一个工作。所以watcher1
可能会做job1
,watcher2
做job2
,等等。
当watcher1
与完成job1
,就应该拿起job5
。
我希望这很清楚。
此外,我希望每个“观察者”都在自己的终端窗口中运行,在那里我们可以看到其进度,以及轻松终止或启动更多观察者。
相关分类