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

  • Taci

    addikt

    Amíg tesztfázisban vagyok, néha el kell indítanom kézzel is egy szkriptemet (ami az adatbázist tölti fel), de amúgy Cron Job-ként fut (jelenleg csak óránként).
    Már többször kiszúrtam magammal, mert akkor indítottam el, amikor pont futott amúgy is, így az aktuális bejegyzések duplán kerültek az adatbázisba, aztán mire felkutattam, hogy mi is történt, rengeteg időt elpazaroltam.

    Arra gondoltam, hogy futás elején ellenőrzöm a logfájl (amibe minden bejegyzés részlete bekerül) időbélyegzőjét és fájlméretét, aztán várakoztatom a szkript futását 5 mp-re, újra ellenőrzöm, és ha eltérés van, akkor a másodjára elindított példányt exit()-tel leállítom, hogy ne legyen "duplázás".

    $log_file_filesize_check_start = filesize($log_file_custom_path);
    $log_file_filemtime_check_start = filemtime($log_file_custom_path);
    sleep(5);
    $log_file_filesize_check_end = filesize($log_file_custom_path);
    $log_file_filemtime_check_end = filemtime($log_file_custom_path);

    De akárhogy csinálom, hiába altatom 10 mp-ig is akár, a _start és _end értékek mindig megegyeznek, pedig direkt nézem a fájlt, folyamatosan ír bele az első példány, így kell, hogy változzon a fájlméret és az időbélyegzője is.

    Lehetséges esetleg, hogy ezek az értékek (filesize, filemtime) csak akkor realizálódnak majd magán a fájlon, ha a szkript már "elengedte" (tehát ha a bele logoló szkript már befejezte a futását)?

    Ki szeretném védeni a duplikált bejegyzéseket (amik azért jönnek létre, mert duplán fut a szkript, mert a második példány akkor indul el, amikor az első még fut).

    Ha esetleg a logfájl adatainak elemzésével nem érhetek célt, akkor keresek mást, de most már érdekelne ez a dolog.

    Köszi.

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