Gjest Slettet+142 Skrevet 10. oktober 2006 Del Skrevet 10. oktober 2006 (endret) hey.. holder på å lese en bok om C++ no, men eg e utolmodig og har derfor delvis vansker med å lese boken noen som kunne hjulpet meg med å lage et program som kjører i bakgrunnen (på en linux maskin), og loope med 6 timers ventetid mellom hver gang den sjekker en xml-fil (eller noe som er skrevet i en html-fil?), hvis den er oppdatert, oppdaterer programmet en rad i en mysql-database? fikk vite om C API for MySQL her http://dev.mysql.com/doc/refman/5.0/en/c.html altså mer eller mindre de samme funksjonene du finner igjen i f.eks. PHP 6838190[/snapback] tenker noe slikt: //du trenger ikkje å nevne at eg har alt for mange header-filer inkludert altså :P // #include < <mysql-bibliotek> > #include <string> #include <iostream> #include <cstdlib> #include <fstream> #include <cmath> #include <ctime> #include <iomanip> #include <cctype> #include <sstream> #include <time.h> #include <windows.h> using namespace std; int main(){ while( 1 == 1 ){ //sjekk xml eller html-side //sjekk mysql-database-felt-i-tabell //if(<resultat fra xml/html> != <resultat fra mysql-felt>){ //oppdater mysql-felt //}//if //sleep(21600); // sekunder? }//while return 0; } unnskyld dårlig forklaring Endret 10. oktober 2006 av Slettet+142 Lenke til kommentar
lnostdal Skrevet 11. oktober 2006 Del Skrevet 11. oktober 2006 hey.. holder på å lese en bok om C++ no, men eg e utolmodig og har derfor delvis vansker med å lese boken noen som kunne hjulpet meg med å lage et program som kjører i bakgrunnen (på en linux maskin), og loope med 6 timers ventetid mellom hver gang den sjekker en xml-fil (eller noe som er skrevet i en html-fil?), hvis den er oppdatert, oppdaterer programmet en rad i en mysql-database? fikk vite om C API for MySQL her http://dev.mysql.com/doc/refman/5.0/en/c.html altså mer eller mindre de samme funksjonene du finner igjen i f.eks. PHP 6838190[/snapback] tenker noe slikt: //du trenger ikkje å nevne at eg har alt for mange header-filer inkludert altså :P // #include < <mysql-bibliotek> > #include <string> #include <iostream> #include <cstdlib> #include <fstream> #include <cmath> #include <ctime> #include <iomanip> #include <cctype> #include <sstream> #include <time.h> #include <windows.h> using namespace std; int main(){ while( 1 == 1 ){ //sjekk xml eller html-side //sjekk mysql-database-felt-i-tabell //if(<resultat fra xml/html> != <resultat fra mysql-felt>){ //oppdater mysql-felt //}//if //sleep(21600); // sekunder? }//while return 0; } unnskyld dårlig forklaring 7042977[/snapback] om du ønsker å sjekke sist filen ble endret, sjekk `man 2 stat': "...time_t st_mtime; /* time of last modification */..." om du ønsker å sjekke om hele innholdet på en HTML-side er det samme som innholdet i et database-felt er det .. uhm.. bare å bruke "standard SQL" til dette for å hente den lagrede HTML'en ut fra DBen i en streng og sammenligne om du ønsker å sjekke en dato (et "dato-felt") i selve xml-fila brukes gjerne libxml2 til dette ..tror neppe jeg gidder å poste noen komplett løsning her.. Lenke til kommentar
Gjest Slettet+142 Skrevet 11. oktober 2006 Del Skrevet 11. oktober 2006 (endret) hmm... eg vil sjekke om et felt i en xml-fil e oppdatert. at den åpner xml-filen, sammenligner feltene UserStats->TotalKeyCount og UserStats->TotalMouseClicks med et felt i en database hvis verdiene i xml-filen ikkje e lik verdien i feltene i db'n oppdaterer programmet de feltene dette e mulig, sant? EDIT: programmet skal kjøre i bakgrunnen, og den skal sjekke hver 6. time ^^ Endret 11. oktober 2006 av Slettet+142 Lenke til kommentar
lnostdal Skrevet 11. oktober 2006 Del Skrevet 11. oktober 2006 hmm... eg vil sjekke om et felt i en xml-fil e oppdatert. at den åpner xml-filen, sammenligner feltene UserStats->TotalKeyCount og UserStats->TotalMouseClicks med et felt i en database hvis verdiene i xml-filen ikkje e lik verdien i feltene i db'n oppdaterer programmet de feltene dette e mulig, sant? ja, klart .. bruk libxml2 .. eller om filen er like enkel som det der "hver gang" kan du parse den v.h.a. standard-stuff i STL .. dette er ikke kritisk m.t.p. hastighet; så vurder om du heller skulle brukt et mer passende språk som f.eks. python, perl, bash e.l. EDIT: programmet skal kjøre i bakgrunnen, og den skal sjekke hver 6. time ^^ 7046909[/snapback] ja, jeg glømte å nevne det der i ste; normalt når man starter programmet gjør man det slik: lars@ibmr52:~$ ./program ..om du vil at det skal starte i bakgrunnen starter du slik, med en & på slutten: lars@ibmr52:~$ ./program & Lenke til kommentar
Gjest Slettet-8fx0y6VV Skrevet 11. oktober 2006 Del Skrevet 11. oktober 2006 Hva med å bruke cron for å kjøre den hver 6. time, så slipper du å kode den delen inn i koden din. Espen Lenke til kommentar
Gjest Slettet+142 Skrevet 22. oktober 2006 Del Skrevet 22. oktober 2006 Hva med å bruke cron for å kjøre den hver 6. time, så slipper du å kode den delen inn i koden din. Espen 7047237[/snapback] jo kunne faktisk tenkt meg å kjøre den hver time.. kan noen lage crond'en for meg? har prøvd å finne litt ut, men den kjører ikkje når den skal.. har prøvd med crontab server, men ville enda ikke virke hjeelp Lenke til kommentar
oladunk10 Skrevet 22. oktober 2006 Del Skrevet 22. oktober 2006 (endret) Hva med å bruke cron for å kjøre den hver 6. time, så slipper du å kode den delen inn i koden din. Espen 7047237[/snapback] jo kunne faktisk tenkt meg å kjøre den hver time.. kan noen lage crond'en for meg? har prøvd å finne litt ut, men den kjører ikkje når den skal.. har prøvd med crontab server, men ville enda ikke virke hjeelp 7129858[/snapback] Om du ønsker å kjøre et program hver time så kan du legge det i katalogen `/etc/cron.hourly' (edit: ups -- rettet feil her) eller eventuelt opprette en symlink til programmet i den katalogen. (edit: du kan foresten også legge script der; det trenger ikke være binaries) edit2: ..det er mulig dette varierer litt mellom distro; dette er Ubuntu/Debian Endret 22. oktober 2006 av oladunk10 Lenke til kommentar
Gjest Slettet+142 Skrevet 23. oktober 2006 Del Skrevet 23. oktober 2006 (endret) oki.. skal prøve EDIT:: har lagt inn filen i /etc/cron.hourly (Ubuntu) no.. venter bare på å se om den virker.. burde vel ta en time? Edit2: Virket perfekt takk for hjelp Endret 23. oktober 2006 av Slettet+142 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å