[ TAG 248 ][25.12.2021] -Erfolgreich -IAP-20210601-20210722 -RPRCSL_20211219_0030

 Ich starte die heutige Worksession um [25.12.2021][1035].
Der Entwurf an dem ich heute arbeiten werde befindet sich in der Textdatei[RPRCSL_20211219_0030.txt] im Projektordner [DOCS]. 

Quelle
[E:\2021\Projekte\Python\2021\06_jun\IAP-20210601-20210722-1145\DOCS]

------------------------------------------------------
Grundaufbau von [RPRCSL_20211212_1520]
[pid] = PROCESS-ID des ALOG-Prozesses
[ppid]= PROCESS-ID des Hauptprozesses
  • [pid]
    • [state_00]
      • STATE-00 wird im Hauptprozess vor der Ausführung des ALOG-Prozesses protokolliert.
    • [state_10]
      • STATE-10 wird im ALOG-Prozess am Anfang protokolliert
    • [state_19]
      • STATE-19 wird im ALOG-Prozess am Ende protokolliert
    • [state_20]
      • STATE-20 wird im Hauptprozess nach der Ausführung des ALOG-Prozesses protokolliert.
------------------------------------------------------

Verwendete Methoden zu Zeitmessung

def STATE_00_ITEM():
i = dict()
i["state_00"] = dict()
i["state_00"]["t0"] = time.time()
i["state_00"]["t1"] = datetime.datetime.fromtimestamp(time.time()).strftime("%Y-%m-%d %H:%M:%S")
i["state_00"]["t2"] = time.time_ns()
return i
print(f"rprcsl.STATE_00_ITEM(): {rprcsl.STATE_00_ITEM()}")
'''
rprcsl.STATE_00_ITEM(): {
'state_00': {
't0': 1640429542.655863,
't1': '2021-12-25 11:52:22',
't2': 1640429542655863100
}
}
'''

Diese RPRCSL-Liste wird komplexer. Deswegen habe ich ein Protokoll angelegt.

[G-DRIVE] > ext_prj_2021 > IAP-20210601-20210722-1145 > 
2021 > 12 > 25 > RPRCSL_20211219_0030

Das neue Modul muss von Beginn an auf die Manager-List Eigenschaften angepasst sein. Weil die Manager-Liste es nicht möglich macht einzelne Elemente zu modifizieren, so muss bei jeder Änderung die Gesamte Liste neu beschrieben werden.

Wenn ich jetzt ein neues Element in der Manager-Liste angelegt habe. Dieses Element besteht aus einen [dict()] mit einer komplexen Struktur. Wenn ich jetzt eine Methode entwickeln möchte, die einzelne Elemente aktualisiert. So wird dieses Verhalten nur suggeriert. Modulintern wird die gesamte Liste zwischen gespeichert. Die neuen Werte werden in die zwischen gespeicherte Liste übernommen. Sobald die zwischengespeicherte Liste fertig ist, wird die Manager-Liste bzw. das komplexe Element in der Manager-Liste einfach mit der zwischengespeicherten Liste überschrieben. Hier ist ein Entwurf einer Methode, wie es ungefähr funktionieren könnte. Das Prinzip lässt sich auch auf die gesamte Liste anwenden.

def STATE_00_ITEM_COPY(RPRCSL=None,
pid=None,
ppid=None,
status=None,
t0=None,
t1=None,
t2=None
):
if pid is None:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - pid muss vorhanden sein.")
return False

state_00 = dict()
# ------------------------------------------------------------------------------------------------------------------
if pid is not None:
state_00["pid"] = pid
else:
try:
state_00["pid"] = RPRCSL[pid]["state_00"]["pid"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][pid] kopieren ist fehlgeschlagen.")
state_00["pid"] = None
# ------------------------------------------------------------------------------------------------------------------
if ppid is not None:
state_00["ppid"] = ppid
else:
try:
state_00["ppid"] = RPRCSL[pid]["state_00"]["ppid"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][ppid] kopieren ist fehlgeschlagen.")
state_00["ppid"] = None
# ------------------------------------------------------------------------------------------------------------------
if status is not None:
state_00["status"] = status
else:
try:
state_00["status"] = RPRCSL[pid]["state_00"]["status"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][status] kopieren ist fehlgeschlagen.")
state_00["status"] = None
# ------------------------------------------------------------------------------------------------------------------
if t0 is not None:
state_00["t0"] = t0
else:
try:
state_00["t0"] = RPRCSL[pid]["state_00"]["t0"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][t0] kopieren ist fehlgeschlagen.")
state_00["t0"] = None
# ------------------------------------------------------------------------------------------------------------------
if t1 is not None:
state_00["t1"] = t1
else:
try:
state_00["t1"] = RPRCSL[pid]["state_00"]["t1"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][t1] kopieren ist fehlgeschlagen.")
state_00["t1"] = None
# ------------------------------------------------------------------------------------------------------------------
if t2 is not None:
state_00["t2"] = t2
else:
try:
state_00["t2"] = RPRCSL[pid]["state_00"]["t2"]
except:
print("STATE_00_ITEM_COPY -FEHLGESCHLAGEN - RPRCSL[pid][state_00][t2] kopieren ist fehlgeschlagen.")
state_00["t2"] = None

return state_00



Hochachtungsvoll
Artem Kraft

Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325