Speicher wächst (unregelmäßig)

  • Hallo zusammen,
    ich habe mich jetzt dazu entschieden einen neuen Thread auf zu machen, in der Hoffnung dass mir jemand helfen kann.

    Zunächst wie ihr das gesamte Script zum laufen kriegt:
    script.au3
    autoablaufstrg.db // Die Datenbank habe ich mal testweise für euch vorbereitet.
    SQLite.exe
    config.ini // In dieser Datei müsst ihr den Pfad zur SQLite.exe sowie zur autoablaufstrg.db eintragen!
    log.txt // Muss sich im Scriptverzeichnis befinden
    hw.bat // Die (Hello World) hw.bat hat mit Absicht keinen Timeout...

    Da alles zu erklären zu weit in die Tiefe geht, ihr solltet das Script starten, dann drückt ihr Lade aktive AP's, und dann auf Start. Nun läuft der Ablauf aktiv durch.
    AP's = Arbeitspläne // Ein Arbeitsplan kann aus diversen Arbeitspunkten bestehen
    APP = Arbeitspunkt // Ein Arbeitspunkt ist gleich eine Aktion die ausgeführt wird
    _neu_einplanen // Eine interne hart kodierte Funktion, die den nächsten Starttermin nach einem Zeitplan (ähnlich wie Outlook/Cron) schaut.

    Nun zu meinem Problem: Diese Ablaufsteuerung soll demnächst 24 Stunden am Tag, 7 Tage die Woche, 12 Monate im Jahr laufen. Ihr versteht worauf ich hinaus möchte? Das Script wird nicht mal ebend neugestartet oder sowas, es soll ununterbrochen durchlaufen.

    Wenn ihr mal im TaskManager unter Prozesse auf den Arbeitsspeicher achtet, werdet ihr Feststellen der hat 'ein Gewicht' von sagen wir 11.960K. Wenn ihr die aktiven AP's geladen habt seid ihr meinetwegen bei 12.224K. Wenn ihr dann Start drückt, und er die Arbeitspläne abarbeitet, steigt diese Zahl an was auch völlig okay ist. Nur wenn der Arbeitsplan fertig ist, sollte wieder alles bei 12.224K sein. Dies ist es leider nicht.

    Mir sind durch die Tests die ich nun seit fast 4 Wochen durchlaufe einige Fehler aufgefallen, ich habe etliches schon bearbeitet und einiges muss noch bearbeitet werden, daher wäre es in erster Linie super wenn ihr mir bei dem problem hier helfen könntet. Der Rest ist zum Großteil nicht wirklich schwierig.

    Während das Ding arbeite soll, befinden wir uns in den folgenden Funktionen. Ich schreibe sie mal in Reihenfolge von Scriptstart bis Ablauf hin:

    Hauptprogramm / Hauptschleife
    lade_aktive_aps
    pruefe_ablauf
    vergleiche_zeitstempel (bis etwas ansteht)
    starte_ablauf
    lade_aktive_aps
    (hier wäre ein Durchlauf normal beendet, weitergehen würde es dann so)
    vergleiche_zeitstempel (bis wieder etwas ansteht)
    starte_ablauf
    lade_aktive_aps
    [...]

    Ich habe da mal 10 Arbeitspläne mit jeweils 2 Arbeitspunkten eingefügt. Wenn das bei euch irgendwann funktionieren sollte, dann nehmt mal die alternative.bat und legt die in den Scriptordner mit dem Namen hw.bat. Ihr müsstet die Datei dann noch bearbeiten. Sie erstellt 10 txt dateien, kopiert diese 2x und verschiebt sie. Ich habe folgende Ordnerstruktur dafür:

    Dokumente/Testszenario/_Dateien
    Dokumente/Testszenario/backup_Dateien
    Dokumente/Testszenario/alte_Dateien
    Dokumente/Testszenario/neue_Dateien

    Wenn ihr die gleiche nutzen wollt müsst ihr lediglich 'USER' mit eurem Usernamen austauschen.

    Ich hoffe es ist alles verständlich und mir kann jemand helfen ... ich verzweifel langsam wirklich :(

    Grüße und schonmal Danke an alle Helfer.

    PS: Zu dem Code, an diesem Projekt arbeite ich nun seit ich mit AutoIt programmiere. Mittlerweile habe ich eine besser Art und Weise Variablen zu deklarieren etc. aber es jetzt zu ändern ist zeitlich nicht möglich :/ Daher auch noch keine angemessenen Kommentierungen ... habe mal zeilenweise kommentiert wobei ich es total schrecklich finde. Ich hoffe ihr nehmt mir den etwas versauten Code net alt zu übel.

    Grüße Yaerox

    Grüne Hölle

    Einmal editiert, zuletzt von Yaerox (4. Februar 2013 um 09:16)