我想做的是这样的:
inotifywait -m ./input -e close_write -e moved_to |
parallel --max-args 1 "someSlowSingleThreadedTaskThatActsOnThisFile"
我无法想象这会按原样工作(它似乎没有)。我认为parallel
必须在开始运行之前提供所有输入。因此我的问题是:有没有一种方法可以向并行添加更多输入,因为它已经在运行?我将输入想象为一个工作池,它只是使用当前系统的最大合理线程数尽可能快地处理该池。我想做的就是在该池仍在运行时将其添加到该池中。
如何parallel
在运行时持续提供更多输入(具体来说,当更多文件添加到文件夹中时)?或者,如果parallel
对于这项任务来说不是一个好的选择,那么什么是呢?
答案1
如何使用entr
您提供的entr
文件或文件列表的命令,然后每当对该文件进行更改时,它都会运行任意命令。这有助于我在文件更改时使用它自动重建预览和项目吗?我不明白你为什么不能使用parallel
它。
杰森·C.