Ich verschiebe Code in Simpy 2 in Version 3 geschrieben und konnte keine Entsprechung zu der folgenden Operation finden.Simpy, wie auf Objekte in einer Ressourcenwarteschlange zugegriffen wird
Im folgenden Code greife ich auf Job-Objekte (abgeleitet von der Klasse job_ (Process)) in einer Simpy Ressource activeQ.
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
dieses 3, in Simpy Dazu habe ich versucht, die folgende
buffers[mc_no].users
die eine Liste der Anfrage zurückgibt() Objekte. Mit diesen Objekten kann ich weder auf die Prozesse zugreifen, die sie erstellt haben, noch auf die Objekte, zu denen diese Prozessfunktionen gehören. (Verwenden der 'put_queue' und 'get_queue' des Ressource-Objekts hat nicht geholfen)
Irgendwelche Vorschläge?
Es lebe das Land von Python! - Vielen Dank. Ich habe eine Folgefrage: Ich habe eine Jobklasse, die eine Prozessfunktion go() hat - wie in Simpy 2. Mit req.obj = selbst klebe ich die Objektdaten, nun wie ich die Prozessdaten festklebe. Ich brauche es, weil ich den Prozess unterbrechen möchte und das Job-Objekt seinen Fluss fortsetzen soll. –
Macht nichts - fand es heraus. Erstellen Sie einfach den Prozess im Konstruktor des Objekts, behalten Sie es als Attribut bei und greifen Sie dann über das Jobobjekt zu. –