Avatar billede flash-man Nybegynder
25. januar 2005 - 08:14 Der er 13 kommentarer

Automatisk opdatering?

Hey Eksperter!!

Jeg er igang med et script der kræver et mysql-baseret script opdaterer sig selv, og ikke er afhængigt af at en bruger kommer ind og ser på siden...
Altså tidsbaseret. Dvs noget der opdaterer sig selv (fx. hvert 5. minut), ligemeget om der kommer nogle ind og ser på siden, eller nogen har siden åben så den til noget konstant refresh.

Jeg håber der er nogen der kan komme med en brugbar løsning.
Avatar billede bromer Nybegynder
25. januar 2005 - 09:06 #1
Hvis det et script, der ikke outputter HTML og viser noget til brugeren kan du køre scriptet i en crontab hver femte minut. Hvis det er en windowsserver mener jeg at det hedder "at" eller noget i den stil. Du kan egentlig også smide en sleep() og derefter en header("Location: blah.php");, men det er ikke så kønt, men se eventuelt:

http://dk2.php.net/header
http://dk2.php.net/sleep

Hvis dit script outputter HTML kan du bruge "META HTTP-EQUIV" til at sende brugeren til den samme side efter 5 minutter.

Rune
Avatar billede flash-man Nybegynder
25. januar 2005 - 09:10 #2
Jep...det er en mulighed, men det jeg skal bruge er noget der ikke er afhængigt af at siden er åben.
Avatar billede alister_crowley Nybegynder
25. januar 2005 - 09:13 #3
Det er ikke muligt at få, medmindre du selv ejer serveren kan du køre cronjob (tidsinstillede jobs)
Avatar billede bromer Nybegynder
25. januar 2005 - 09:18 #4
alister_crowley> Det kommer vel sagtens an på, hvilket webhotel du har.

flash-man> Du kan lave en deamon som dette:

<?
while(1) {
  // Do your stuff

  sleep(300); // Sover 5 min
}
?>

Jeg ved bare ikke hvad dit webhotel siger til at du kører scripts der ikke stopper.

Rune
Avatar billede alister_crowley Nybegynder
25. januar 2005 - 09:20 #5
php bliver parsed af serveren, når du lukker browseren så sker der ikke mere !-)

Og ja, der er nogle servere som tildbyder cronjobs, men det er ikke standart, og slet ikke på de billige hosts ;-)
Avatar billede alister_crowley Nybegynder
25. januar 2005 - 09:21 #6
forresten så er det normalt at php har en max. udførelsestid på 30 sek.
Avatar billede bromer Nybegynder
25. januar 2005 - 09:22 #7
alister_crowley> Om webserveren vælger at vente på at ens script terminerer eller om det dræber scriptet er igen op til webserveren.
Avatar billede bromer Nybegynder
25. januar 2005 - 09:24 #8
og man kan ændre max. udførelsestid med http://php.planetmirror.com/manual/en/function.set-time-limit.php
Avatar billede alister_crowley Nybegynder
25. januar 2005 - 09:33 #9
"set_time_limit() has no effect when PHP is running in safe mode. There is no workaround other than turning off safe mode or changing the time limit in the php.ini. "

Så har du en meget usikker server hvis du kan det :P
Avatar billede bromer Nybegynder
25. januar 2005 - 09:38 #10
Det er rigtigt. Men man kan også se på det sådan at hvis man tager udgangspunkt i hvad du har sagt så får man ikke lavet så meget andet end at surmule :)
Avatar billede flash-man Nybegynder
25. januar 2005 - 16:45 #11
ser det som at der ikke rigtig findes nogen brugelig løsning på dette, da jeg ikke selv hoster serveren.
Men jeg siger tak for de mange foreslag der er kommet, og hvis der er nogle der mener derer kommentarer har været det værd, skal de da være velkomne til at lægge et svar og blive tildelt points derefter..
Avatar billede bromer Nybegynder
25. januar 2005 - 16:52 #12
Hvis du kan forklare, hvad det skal lige mere så kan det være at vi kan hjælpe dig...

Rune
Avatar billede alister_crowley Nybegynder
25. januar 2005 - 19:06 #13
tjoo ;) jeg tager udgangspunkt i "standarten" altså at det ikke kan lade sig gøre.

Men ingen points til mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester