Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Taci

    addikt

    válasz Taci #20568 üzenetére

    Nagyon nyakatekert módon, de végül így oldottam meg:

    0) Az ellenörző funkcióval kezdődik a szkript (lejjebb részletesebben, a 3. ponttól)
    1) Logolás kezdetekor beszúr egy szöveget (pl. "Logolás kezdete")
    2) Logolás végén ismét egy szöveg (pl. "Logolás vége")
    3) Megvizsgálja a log fájlban a "Logolás kezdete" és "Logolás vége" sztringet ismétlődéseit
    4) Ha megegyeznek (pl. 2 - 2 db), akkor az azt jelenti, hogy el lett kezdve, és le is lett zárva (azaz már nem fut), tehát indulhat újra a kód futása a szükséges feladatokkal.
    5) Ha különböznek, akkor összehasonlítom a log fájl időbélyegzőjét, illetve a jelenlegi időbélyegzőt.
    6) Ha kevesebb, mint a beállított limit (10 perc), akkor a php error.log fájljába ír, hogy ne módosítsa a szkript log fálját, de mégis legyen infóm arról, hogy megállt, nem fut tovább, és lássam az okát.
    7) Amint 10 perc fölött van a különbség, attól függően, hogy a "kezdete" vagy "vége" sztringekből van kevesebb, beszúrja a logba a megfelelő sztringet a megfelelő mennyiségben, kvázi helyre állítva a logot.
    Aztán fut tovább a szkript a normál módon, a kezdete és vége sztringek úrja párban vannak, megtörtént az esetleges szükséges "karbantartás" (ha mondjuk nem futott volna végig a szkript, és a "vége" bejegyzést nem tette volna meg).

    Egyszerűbb ötletem nem volt, és ezt most egyelőre bolondbiztosnak látom.
    5 percenként fut a szkript, ha esetleg nem végezne a következő futtatásig, akkor nem indul, majd csak az azutáni 5. percnél.
    Ha pedig valamiért nem futna végig (pl. szerverhiba), és elrontaná a log fájlt (és ezzel az ellenőrzést), max 10 perc múlva helyrehozza az ellenőrzéses szükséges sztringeket.

    Remélem, jó lesz.

Új hozzászólás Aktív témák