2017-01-25 2 views
0

2つ以上の異なるリソースから選択する方法をプロセスに与える方法を教えてください。ロジックを使用して2つ以上のリソースのいずれかを選択する

メンテナンス作業をプロセスとしてシミュレートする際に、メンテナンスを実行するために利用できる共有施設を表すリソースを使用して、この作業を行う必要があります。メンテナンス活動の中には1種類の施設しか使用できないものがありますが、他のメンテナンス活動は柔軟性があり、複数の種類の施設を使用するオプションがあります。

SimPyという言葉では、1つのプロセスには1つの固有タイプのリソースを選択するオプションしかありませんが、他のプロセスは複数の固有タイプのリソースから選択できます。

私が達成しようとしているものの原油説明:

resource_A_req = resource_A.request() 

resource_B_req = resource_B.request() 

yield resource_A_req or resource_B_req 

は私の質問への答えもFilterStoreを使用する方法を学びますか?

答えて

1

yield resource_A_req | resource_B_reqが役立ちます。問題が発生しないようにするには、どのリクエストが成功したかをチェックし、もう1つはcancel()に電話する必要があります(ドキュメントで「条件イベント」を検索してください)。

FilterStoreでも動作する可能性があります。簡単な例はthis answerを参照してください。

+0

ありがとうStefan。私は成功のFilterStoreを試してみました!あなたが提案する最初の方法を試してみます。 – bobo

関連する問題