2011-11-11 2 views
0

J'ai un site Web de marché qui inclut des listes de logement d'étudiant. Je voudrais que mes utilisateurs fassent une requête de recherche particulière et puissent ensuite s'y "abonner", c'est-à-dire que si une nouvelle maison correspond à la requête spécifique, ils recevront un email.Comment coder un système d'abonnement de recherche?

Quelle serait la meilleure façon de faire quelque chose comme ça? Jusqu'à présent, je sais que deux options:

  • Vérification des abonnements adaptés lorsque la liste est affichée - ne serait-ce augmenter considérablement le temps de traitement pour l'utilisateur affichant la liste s'il y a des milliers d'abonnements adaptés et il a envoyer des milliers des emails?

  • L'utilisation d'un travail CRON pour vérifier tous les abonnements contre les annonces assortis - Je devine que c'est un peu plus délicat

Quelle façon proposeriez-vous? J'apprécierais quelques conseils/contribution.

+0

Vous pouvez vérifier lorsque la liste est publiée sans affecter l'utilisateur qui effectue la publication tant que vous effectuez la vérification de manière asynchrone, en arrière-plan. – antlersoft

Répondre

0

J'ai travaillé sur des projets similaires à ce dont vous parlez. J'ai trouvé qu'il est préférable d'utiliser l'approche CRON, et voici pourquoi:

Vous ne voulez pas bombarder l'utilisateur avec du spam plusieurs fois par jour (quand une nouvelle annonce est publiée), plutôt que vous voulez se concentrer une fois par jour ou même une fois par semaine, pour réduire les risques de désinscription.

Vous pouvez programmer le CRON pour exécuter le script pendant les heures creuses lorsque votre système n'est pas soumis à une charge importante, car vous devrez parcourir tous les utilisateurs qui se sont inscrits à votre service, puis vérifiez si tout nouvel inventaire correspondant à leurs critères de recherche a été ajouté.

Bien sûr, tout ceci suppose que vous avez le code/schéma en place pour faciliter la solution CRON.

0

Je voudrais faire une tâche automatique (par exemple un cronjob) qui vérifie chaque [jour | semaine | mois] pour chaque utilisateur que les nouvelles listes correspondent à leurs préférences. Vous ne voulez pas à chaque fois un nouvel article est affiché comme cela est quelques inconvénients

  1. Vous devez trouver les utilisateurs qui sont intéressés par la liste particulière, une tâche beaucoup plus complexe que l'inverse
  2. En tant qu'utilisateur, il y a un risque de recevoir beaucoup d'e-mails pendant la journée. Je pense que vous préférez avoir un résumé [daily | weekly | monthly | hourly].
Questions connexes