0
Simpy 2で書かれたコードをバージョン3に移動していて、次の操作に相当するものが見つかりませんでした。Simpyリソースキュー内のオブジェクトにアクセスする方法
以下のコードでは、SimpyリソースのactiveQ内のジョブオブジェクト(クラスjob_(プロセス)から派生したもの)にアクセスします。あるSimpy 3でこれを行うに
def select_LPT(self, mc_no):
job = 0
ptime = 0
for j in buffer[mc_no].activeQ:
if j.proc_time[mc_no] > ptime:
ptime = j.proc_time[mc_no]
job = j
return job
、Iは、Request()オブジェクトのリストを返し、次の
buffers[mc_no].users
を試みました。これらのオブジェクトでは、それらを作成したプロセスや、これらのプロセス関数が属するオブジェクトにはアクセスできません。 (リソースオブジェクトの 'put_queue'と 'get_queue'を使用しても助けにならなかった)
何か提案がありますか?
長いPythonの土地に住んでいます! - ありがとうございました。私は後続の質問を持っています:私はSimpy 2のように、プロセス関数go()を持つジョブクラスを持っています。req.obj = selfでは、オブジェクトデータをスティックします。私はプロセスを中断し、ジョブオブジェクトにそのフローを再開させたいからです。 –
心配しないでください。オブジェクトのコンストラクタでプロセスを作成し、それを属性として保持してから、ジョブオブジェクトにアクセスしてください。 –