私がしたいのはこれです:
inotifywait -m ./input -e close_write -e moved_to |
parallel --max-args 1 "someSlowSingleThreadedTaskThatActsOnThisFile"
私はこれがうまくいくことを想像することはできません(それはそうではない)。parallel
実行を開始する前に、すべての入力を提供する必要があると思います。だから私の質問は:すでに実行中なので、並列にさらに入力を追加する方法はありますか?私は入力をワーカープールとして想像し、現在のシステムで合理的な最大スレッド数を使用して、できるだけ早くそのプールを処理します。私がやりたいことは、プールがまだ実行されている間にプールに追加することです。
実行時により多くの入力を継続的に提供するにはどうすればよいですかparallel
(具体的には、フォルダにより多くのファイルが追加されるにつれて)。または、parallel
仕事に適した選択肢ではない場合は何ですか?
答え1
entr
指定したファイルまたはファイルのリストでコマンドを実行し、そのファイルが変更されるentr
たびにランダムなコマンドを実行するのはどうですか?ファイルが変更されたときにプレビューとプロジェクトを自動的に再構築するのに役立ちますか?なぜ使用できないのかわかりませんparallel
。
ジェイソンC.