2009-09-30 5 views
1

J'ai besoin d'exécuter un script de serveur à des heures planifiées entrées par l'utilisateur. Ceci est pour un programme de planification des emails. Un utilisateur peut entrer les heures spécifiques auxquelles il souhaite envoyer le courrier. J'ai une table qui stocke l'ID utilisateur, le texte de l'e-mail et l'heure à laquelle le courrier doit être envoyé. Cette heure est définie en minutes. Je ne veux pas le faire à travers un travail cron car cela signifierait exécuter des tâches cron chaque minute. Y a-t-il un moyen de faire cela qui est plus efficace sur le plan de la machine - peut-être à travers des déclencheurs de base de données ou quelque chose comme ça. Toute aide est appréciée.Exécuter un script basé sur l'horodatage entré dans la base de données MySQL

Merci

Vinayak

+0

Est-ce vraiment le goulot d'étranglement de votre application? – VolkerK

Répondre

1

Si tout votre travail cron fait est une requête rapide pour vérifier si un mail est prévu d'envoyer, alors il ne va pas être une opération coûteuse pour exécuter chaque minute. Il devrait être moins de charge sur votre serveur qu'un chargement de page typique (ce qui nécessite généralement un certain nombre de requêtes, et plus).

Utilisez un script exécuté par un travail cron, mais assurez-vous qu'il soit le plus léger possible. D'après ce que vous décrivez, vous devriez être en mesure de passer à une requête simple qui - la plupart du temps - ne donne aucun résultat. C'est assez léger.

0

Je ne suis pas très familier avec cron mais quand l'utilisateur entre les informations, je pense que vous pourriez être en mesure de définir un travail cron qui sera exécuté à ce moment précis. De cette façon, vous ne devrez pas constamment exécuter un travail cron général. Il ne fonctionnera qu'à tous les moments spécifiques.

Questions connexes