飢餓を防ぐために、書き込みロックと読み取りロックを持つ2つのプロセスを持つクラスタを使用します。

飢餓を防ぐために、書き込みロックと読み取りロックを持つ2つのプロセスを持つクラスタを使用します。

2つのスクリプトがあり、これをscript1とscript2と呼びます。

script1は2分ごとに予約され、実行には4分かかります。 script2は30分ごとに予約され、実行には4分かかります。現在私は、スクリプト1とscript2が同時に実行されないように、スクリプトでクラスタリングを使用しています。ただし、書き込みロックの排他性のため、script1 は同時に実行されません。

私の場合は、script1との並列性を許可し、script2とは非同時性を許可したいと思います。 script1インスタンス間で読み取りロックを使用すると、問題はscript2が中断され実行されないことです。

これを行う賢明な方法はありますか?

つまり、書き込みロックが要求された場合、後続の読み取りロックは付与されません。これはscript2が書き込みロックを待つときに問題になるため、script1の他のインスタンスは読み取りロックを取得でき、script2インスタンスは永遠に待機します。

関連情報