incrond によって開始されるプロセスの最大数を設定します。

incrond によって開始されるプロセスの最大数を設定します。

incrond着信ファイルを監視するために使用するディレクトリ。各ファイルがディレクトリに到達すると、それを処理するためにPythonスクリプトが呼び出されます。

ファイルが処理できるよりも早く入ると、問題が発生します。この場合、システムが過負荷になり、結果を予測できなくなります。

incrond開始できるプロセスの最大数を設定する方法はありますか?制御された方法でファイルを処理できるように、他のツールを使用してファイル処理をキューに入れることはできますか?

ベストアンサー1

incrondたとえば、CPUまたはメモリの数が原因で並行して実行することが合理的なレベルを超える処理プロセスを開始しないでください。下記の数字Nはこれです。

処理プロセスは、「in」ディレクトリのファイルによってのみ開始でき、incrond何も残らないまで「in」ディレクトリのファイルを処理し続けます。複数のプロセスが実行されている場合は、両方のプロセスが同じタスクを処理しないようにいくつかの調整が必要です。

Pythonスクリプトを引数としてファイルを使用してのみ実行できる場合は、処理するincrond新しいファイルがある限り、元のPythonスクリプトを生成し続けるラッパースクリプトを起動します。それ以外の場合はファイルが存在します。icrondこのラッパースクリプトは、同時に実行中のN個未満がある場合に開始されます。ラッパースクリプトはファイルの受信速度が高い限り処理を続けますが、並列スクリプトが多すぎて何も見逃したり、システムの速度を不必要に低下させたりしません。受信速度が処理速度を下回ると、まだ処理する必要があるファイルの数が最終的にゼロに減り、すべてのラッパースクリプトが終了します。

到着したファイルと処理されたファイルを簡単に区別できない場合は、ToDoファイルが処理されるディレクトリにいくつかのincrondToDo作業ファイルを作成できます。

おすすめ記事