Rudde Skrevet 7. oktober 2011 Del Skrevet 7. oktober 2011 Hei, jeg lurte på no, hvordan får jeg ett PHP script til å kjøre konstant? Altså hvis en endring skjer som scriptet skal håndtere så skjer det umiddelbart? Jeg har en veldig teit løsning nå, en bat fil som kjører PHP scriptet en gang i døgnet, liker ikke løsningen og lurer på om det finnes en bedre og raskere løsning? Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Skulle hatt litt innsikt i HVA det er skriptet gjør Windows er vell generellt ikke så greit å ha med å gjøre når det gjelder å jevnlig kjøre ting, men du kan gjøre selve skriptet om til at det selv kjører kontinuerlig med en while (1) {} loop. Hva er det scriptet skal gjøre? Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 Skulle hatt litt innsikt i HVA det er skriptet gjør Windows er vell generellt ikke så greit å ha med å gjøre når det gjelder å jevnlig kjøre ting, men du kan gjøre selve skriptet om til at det selv kjører kontinuerlig med en while (1) {} loop. Hva er det scriptet skal gjøre? Okey har to ting, en som skal sjekke om ett tall i databasen er mine enn time() og hvsi den er slette raden og ett som skal sjekke en annen database etter endringer og hvis det er sjedd endringer skal det overføres til en annen database (nei ikke synkronisering) Jeg har begynt og lure på om jeg skal prøve å lage det i perl istede, men vil helst høre om det er noen mulighet for å få det kjørt i php. Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Hmm... må jo bli noe slikt ish (for det som skal slette): <?php while (1) { $sql = "SELECT * FROM databasen WHERE date < '".time()."'"; $res = mysql_query($sql); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $sql = "DELETE FROM databasen WHERE id='".$row['id']."'"; mysql_query($sql); } } usleep(10000000); //Hvert tiende sekund } ?> dette skriptet vil kjøre kontinuerlig og sjekke med 10 sekunders mellomrom. Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 Vel, vil ikke dette kreve unødvendig med resurser? Finnes det ingen dynamisk løsning? Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Ikke når du bruker usleep(10000000); Bruker en del slike skript på linux serveren min, som kontinuerlig sjekker og har usleep() kommandoen for å ikke kjøre i en CPU intens loop. Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 (endret) Hva med, php maximum worktime? vil ikke den skaff emeg trøbbel her? bare kjøre den sånn her? Krever ikke mye resurser? Endret 13. oktober 2011 av Rudde93 Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Du kan kjøre set_time_limit(0); i begynnelsen dersom timeout blir en issue. Men jeg tror ikke timeout er et issue når du kjører i PHP CLI. Hvordan ser taskmanager ut på prosessen når du kjører den? Jeg vil tro den benytter veldig lite systemressurser. Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 Ja den brukte ikke stort Tror du det kan bli no problem om den kørest vært sekund? Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Kommer ann på hvor mye kode du kjører hvert sekund da. Du kan jo se hvor "sjeis" det går om du tar vekk usleep() helt Lenke til kommentar
_dundun_ Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 PHP er ikke egnet for dette - du må lage en windows-service i f.eks .NET. 1 Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 PHP er ikke egnet for dette - du må lage en windows-service i f.eks .NET. Vel, jeg vet ikke helt hvor jeg skal starte? Lenke til kommentar
ArSeNiC Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 PHP er ikke egnet for dette - du må lage en windows-service i f.eks .NET. Nei, enig i det. PHP er ikke egnet for dette. Spørsmålet var vell opprinnelig om det var mulig i PHP. Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 Altså programmet må sjekket etter oppdaderinger i databasen, har sett litt på perl, C# og C++ nå men finner ingen dynamisk løsning på at den får sendt ny info fra databasen? Hva skal jeg søke etter? :-S Lenke til kommentar
:Francis: Skrevet 13. oktober 2011 Del Skrevet 13. oktober 2011 Hva med å bruke en trigger? Francis Lenke til kommentar
Rudde Skrevet 13. oktober 2011 Forfatter Del Skrevet 13. oktober 2011 Hva med å bruke en trigger? Francis Det var ingen dum idé, men jeg har aldri rørt det før Lurer på om noe slik jeg prøver å fremstille i denne koden ville fungert? CREATE TRIGGER vip_admin FOR EACH ROW BEGIN IF vip_to < unix_timestamp(now()) THEN eval("C:/xampp/php/bin/php.exe -f C:/phpscript.php"); END IF END; Lenke til kommentar
:Francis: Skrevet 14. oktober 2011 Del Skrevet 14. oktober 2011 Hvorfor blande PHP inn i dette? Slik jeg har forstått det skal du bare gjøre databaseoperasjoner, og dersom du bruker en trigger som fyrer på insert/update, kan du skrive SQL-koden som du vil skal kjøres rett i triggeren. Francis Lenke til kommentar
Rudde Skrevet 14. oktober 2011 Forfatter Del Skrevet 14. oktober 2011 Men den skal slette seg selv og update en annen linje i en annen tabell. Lenke til kommentar
:Francis: Skrevet 14. oktober 2011 Del Skrevet 14. oktober 2011 Alt det skal la seg gjøre direkte i SQL. Er det noe spesifikt du ser som hinder for å få det til? Francis Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå