2016-08-30 5 views

答えて

0

単一のプロセスケースと複数のプロセスケースの2つのケースが考えられます。

複数のプロセスは、複数のRubyプロセスを使用するために作成/チューニングされたサーバーを使用する場合に発生します。サーバーによって

は、私はWEBrickに、ユニコーン、乗客、プーマ、などを意味する...どちらの場合も、

は、オーバーラップはミューテックスの前に考えられています。

単一のプロセスケースでは、overlap => falseが最初に起動し、スケジューラは重複している受信ジョブをスキップします。ミューテックスは(ジョブが重複していない場合)考慮され、ミューテックスが同じジョブのインスタンスまたは同じミューテックスを指すジョブのインスタンスによって解放されるまで、ジョブを待機させる可能性があります。

複数のプロセス場合

、あなたのRubyプロセスのそれぞれに、スケジューラを持つに終わるかもしれないとoverlapmutexかもしれないは、地元のRubyプロセスの中で、彼らはあるが、しかし、あなたが持っているのでは、尊敬ではないように見えます...

複数のRubyプロセスを提供するサーバーがあり、そのジョブで単一のrufus-schedulerを動作させたい場合は、https://github.com/jmettraux/rufus-scheduler#lockfile--mylockfiletxthttps://github.com/jmettraux/rufus-scheduler#scheduler_lockを読まなければなりません。この主題に特化した複数のスタックオーバーフローの質問。

関連する問題