petterg Skrevet 26. august 2003 Del Skrevet 26. august 2003 Det finnes sikkert masse om dette på nett, men jeg klarer ikke å finne de rette søkeordene, så det blir lite med resultater. Driver med en php side som skal utføre diverse tidkrevende ting på en linux boks. Det er bl.a. bildebehandling av MANGE bilder som kan være opptil 1gb store photoshop filer. All proseseringen foretas av linux programmer, men jeg vil ha mulighet til å starte, stoppe og overvåke fremdrift via web. Tanken er at hver kommando som skal utføres legges i en sql database. Så starter man et php script som leser første kommando og utfører den med shell_exec(...). Når en kommando er ferdig slettes den fra databasen, neste kommando leses, utføres, slettes, osv. Så til spørsmålene: 1) er det mulig på et eller annet vis at dette scriptet fortsetter å kjøre selv om browser vinduet som ble brukt til å starte det lukkes? 2) Hvilke begrensninger er det knyttet mot shell_exec(...) med tanke på timeout? Hvor kan disse grensene utvides? (evt bruke noe annet enn shell_exec()) -pg Lenke til kommentar
Egil.B Skrevet 26. august 2003 Del Skrevet 26. august 2003 hvis du starter programmene (fra scriptet) med & etterpå så vil dem jo kjøre i bakgrunnen. Går jo også an å forke med php. Lenke til kommentar
petterg Skrevet 27. august 2003 Forfatter Del Skrevet 27. august 2003 Hva betyr "å forke"? Om jeg starter programmer med & i etterkant mister jeg vel oversikten over når det er ferdig med en kommando, og skal lese neste fra databasen... Kan kanskje kalle et script med & etter, slik at dette scriptet tar seg av oppslag mot sql og køer kommandoene. Prøver.... Mange takk. -pg Lenke til kommentar
[kami] Skrevet 27. august 2003 Del Skrevet 27. august 2003 bruk databasen for å finne ut om du kan utføre en ny jobb. om en prosess er i gang lager du et felt in_progress=true eller.no i databasen Lenke til kommentar
petterg Skrevet 28. august 2003 Forfatter Del Skrevet 28. august 2003 "]bruk databasen for å finne ut om du kan utføre en ny jobb. om en prosess er i gang lager du et felt in_progress=true eller.no i databasen Jepp, god ide. Jeg tar den enda lenger.. Det virker som om beste løsning er å lage en tabell i databasen som tar seg av all prosess styring og ha et script på serveren som går konstant å sjekker databasen for ny instrukser med jevne intervaller. På den måten trenger heller ikke scriptet startes fra web, og kan kjøres som annen bruker enn apache, og dermed øker sikkerheten rundt hele systemet. Takker for respons. -pg 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å