Avatar billede Mik2000 Professor
21. juli 2019 - 14:55 Der er 3 kommentarer og
2 løsninger

Kør en side x minutter efter side er loadet

Jeg har behov for at køre noget kode, og i den kode skal der sendes en email og en SMS (det virker fint).

Udfordringen er dog at email og SMS først skal sendes med et delay på 5 minutter og ikke når koden eksekveres.

Dvs. siden kører, brugeren gør en masse andre ting, lukker måske siden, går måske til en anden side, og 5 minutter efter siden har været kørt skal den sende email og sms

Hvordan gøres dette?
Avatar billede arne_v Ekspert
21. juli 2019 - 16:31 #1
Loesningen maa afhaenge af setup.

Enterprise:
* din kode schedulerer et job der sender via scheduler systemet

Mere beskedent:
* du gemmer oplysninger om jobbet i databasen
* du har et cron job som koerer hver 10. sekund og kigger i databasen og sender de ting der er tid for skal sendes (og sletter saa de ikke sendes igen)

Billigt web hotel:
???? (jeg ved ikke hvad du kan)
Avatar billede Slater Ekspert
21. juli 2019 - 16:53 #2
På et webhotel (og andre steder, naturligvis) kan du muligvis bruge et billigt trick. Det er ikke god praksis, men det virker:

<?php
ignore_user_abort(true); // ignorer at brugeren lukker siden

// udfør anden kode her

ob_flush();  // udskriv eksisterende buffer før der ventes
sleep(300);  // vent 5 minutter

// send din sms her
Avatar billede arne_v Ekspert
21. juli 2019 - 17:11 #3
Det virker indtil web serveren løber tør for tråde.

På den anden side kan man argumentere for at enten er der så få brugere at det hack er OK eller så er der så mange brugere at man bør betale for noget hosting som tillader et cron job.
Avatar billede Slater Ekspert
21. juli 2019 - 17:38 #4
Præcis min tanke. Jeg gættede ikke på at dette var en side med mange simultane besøgende.
Avatar billede Mik2000 Professor
22. juli 2019 - 13:47 #5
Lige i denne er der meget få brugere og den ligger på et af de billigere webhoteller, så prøver slaters løsning
Men tak for information, og løsningsforslag :)
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

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