Avatar billede nemlig Professor
21. november 2008 - 13:40 Der er 8 kommentarer og
1 løsning

tjek om email-script får timeout.

Jeg har et emailscript (PHP), som sender en email til en række kunder. Scriptet skal køre på et webhotel som fx. one.com.
Men jeg oplever nogle gange, at scriptet kan få timeout inden alle email er sendt. Jeg styrer, hvem der er sendt til, ved at skrive til MySQL, når løkken kører.
Derfor er det også nemt at tjekke ved timeout, hvilke emailadresser der ikke er sendt til.
Men er det muligt via javascript, at "fange" timeouten, så man bliver gjort opmærksom på, at der skete en fejl, og der med kan tage action.
Nogen gode forslag?
Avatar billede jokkejensen Novice
21. november 2008 - 17:31 #1
"Fejlen" skal hånteres på serveren. Jeg ved ikke lige hvordan fejlhåntering fungere i php, men du skal varetage at den falder ud og så ellers resume med php.

- om du bagefter vil gøre det asynkront eller ej kan du vurdere bagefter, det virker uhensigtsmæssigt - opgaven taget i betragtning.

Prøv evt også at give serveren lidt tid til at foretage operationen, prøv at tilføje:

set_time_limit(0)

til toppen af tid script.

Lige godt hvad, vil du få bedre hjælp i php kategorien.

Vh.
Avatar billede nemlig Professor
21. november 2008 - 18:14 #2
Nu er der tale om de billige webhoteller, hvor jeg, mig bekendt, ikke kan få adgang til php-opsætninger.

Jeg afslutter min PHP-kode med at skrive, at x-antal emails nu er afsendt. Og det vil der også være, hvis scriptet når så langt, at der er sendt til alle.
Hvis der derimod opstår timeout, stopper koden, og "kvitteringen" om afsendt emails vises heller ikke.
Her tænkte jeg, at et javascript kunne aktiveres ved valg af [Send], og når der er gået x-antal sekunder, laves der et tjek på, om alle emails er sendt.
Avatar billede w13 Novice
22. november 2008 - 12:41 #3
Men dit e-mail-script er jo i PHP, så kan du ikke bruge det??

Det bliver hurtigt noget rod at forsøge at tjekke med JS. PHP køres jo ved sideload på serveren i modsætning til JS.
Avatar billede nemlig Professor
22. november 2008 - 14:47 #4
Men sideloadet stopper jo ved PHP, når der kommer timeout. Det var derfor jeg tænkte, om javascript kan holde øje med hvad der sker, og hvis ingenting sker, kan javascript måske tage "action".
Avatar billede w13 Novice
22. november 2008 - 14:50 #5
Så skulle JS sætte en cookie med klokkeslet inden e-mail-siden køres (eller overføre det til siden i en querystring) og så skal JS på den anden side sammenligne det.

Men det ville stadig være langt nemmere at gøre det hele i PHP, hvilket du vel også kan, når mail-scriptet er i PHP?
Avatar billede nemlig Professor
22. november 2008 - 18:18 #6
Ok - jeg har også stillet spørgsmålet i php-afsnittet, men er ikke kommet nærmere en løsning.
Lige nu oplever jeg ved timeout, at scriptet stopper med en næsten blank side. Kunne jeg bare få systemet til at skrive/vise at der er sket en timeout, og brugeren på den måde informeres.
Avatar billede nemlig Professor
29. november 2008 - 23:02 #7
Jeg må hellere lukke tråden. Har dog ikke fundet den rette løsning - endnu.
Tak for jeres bidrag. Vil I have lidt point, så send et svar og jeg deler dem mellem jer.
Avatar billede w13 Novice
30. november 2008 - 00:36 #8
Ellers tak!
Avatar billede nemlig Professor
08. december 2008 - 23:36 #9
lukketid!
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