Je travaille sur un système d'emailer que je dois brancher dans un CMS pour une compagnie. Je suis à la recherche d'un moyen de faire exécuter le script de l'expéditeur de courrier électronique en arrière-plan pendant que l'administrateur peut naviguer ou même fermer les navigateurs.Exécuter le script PHP en arrière-plan ... quelles sont les meilleures solutions pour mon cas?
J'ai trouvé la fonction PHP nommée ignore_user_abort()
qui est requise pour garder la page en cours d'exécution même si elle a expiré.
Maintenant, j'ai trois solutions pour « lancer le script »:
je pouvais utiliser une iframe
Je pourrais utiliser un appel Ajax que je l'ai déjà configuré pour délai d'attente très tôt. Ex: en utilisant le jQuery framework:
$.ajaxSetup({ timeout: 1000 });
Je pourrais utiliser un travail cron mais je voudrais éviter cette solution car ils sont "virtuels" et instables sur ce serveur.
Existe-t-il d'autres solutions? Je n'aime pas vraiment la solution iframe mais je les utilise déjà avec un script uploader Ajax.
Je ne veux pas que l'administrateur tape F5 et commence une deuxième instance de celui-ci.
Les utilisateurs de l'entreprise ont été invités à se connecter uniquement au CMS en utilisant Firefox. Merci
fait l'utilisateur a appuyer sur un bouton (ou quelque chose) pour lancer le processus d'envoi? –
Oui, il le fait. Après avoir modifié le contenu de l'e-mail et importé sa liste de contacts. Il doit appuyer sur un bouton. – Cybrix
Vous pouvez simplement utiliser votre propre suggestion, mais ajouter quelque chose dans la base de données qui indique son exécution ou étiqueter un fichier tmp ou même une variable de session pour l'empêcher de s'exécuter deux fois s'il touche f5. – superfro