Les e-mails de résumé ne sont pas envoyés à tous les utilisateurs – besoin d'aide pour déboguer

@Canapin nous n’avons pas non plus vu de documentation indiquant que ce paramètre est lié à l’e-mail… c’est bien de savoir où il se trouve cependant @Heliosurge, merci de l’avoir signalé.

Un autre jour sans aucun résumé créé. Nous avons publié un nouveau sujet pour déclencher les choses au cours des dernières 24 heures et rien…

Quelqu’un a-t-il d’autres idées ici ? Manquons-nous un journal quelque part ? Quelque chose échoue quelque part que nous pouvons voir et corriger ?

En y réfléchissant, nous supposons que le problème est lié au nombre d’utilisateurs dans le système. Ce qui est étrange, c’est que cela n’a pas changé de plus de 10 depuis le lancement sur Discourse.

Nous avons environ :

  • 1 million d’utilisateurs actifs
  • 2,4 millions d’utilisateurs désactivés

Peut-être y a-t-il un problème de délai d’attente étrange qui se produit lorsque le système effectue cette recherche ? Où pourrions-nous voir cette sortie si elle échoue ?

Encore une fois, cela semble étrange que ce soit le problème puisque les digests étaient envoyés, du moins en quantité limitée il y a une ou deux semaines.

1 « J'aime »

Peut-être, ou à autre chose qui rend le résumé vide, donc non envoyé aux utilisateurs.

Je ne sais pas comment un résumé est généré. Je ne sais pas s’il prend en compte les catégories ignorées par l’utilisateur, ou des choses comme ça.

Je suppose que vos utilisateurs ne recevront pas le résumé si vous l’envoyez manuellement via la console Rails ?

user = User.find_by(username: 'user-name')
Jobs.enqueue(:user_email, type: :digest, user_id: user.id)

Quelques secondes après avoir exécuté cela, vous devriez voir les tâches traitées par Sidekiq augmenter de 1, mais si vous avez un grand forum, il peut y avoir beaucoup de tâches Sidekiq à tout moment, il peut donc être difficile de voir si cela a augmenté.
Vous pouvez utiliser le bouton Live Poll pour le voir en temps réel :

D’après mes tests, si j’exécute le script Rails pour envoyer le résumé à un utilisateur, mais que le résumé est vide :

  • parce que l’utilisateur l’a déjà reçu
  • ou a désactivé les résumés par e-mail dans son profil
  • etc…

Alors le nombre de tâches traitées par Sidekiq augmentera d’un, mais aucun e-mail ne sera envoyé, et il n’y aura pas de nouvelle entrée dans /admin/email/sent.

Peut-être pourriez-vous enregistrer les tâches Sidekiq traitées pour voir s’il y a un indice. J’ai cherché un peu, mais je ne suis pas sûr que cela enregistre les tâches traitées par défaut.

Je pense qu’il y a une explication logique et valable pour laquelle les utilisateurs ne reçoivent pas le résumé. La tâche peut être traitée, mais le résumé peut être vide, ce qui expliquerait pourquoi il n’y a aucune trace.
Je vérifierais à nouveau minutieusement les paramètres de tous les utilisateurs concernés, leurs niveaux de notification, leurs catégories suivies et autres choses du genre.

1 « J'aime »

Il serait assez facile d’ajouter une sortie de débogage à la mécanisme d’envoi du résumé.
Avez-vous un site de préproduction disponible, où l’on peut tester sans compromettre votre instance de production?

Là, on pourrait tester si des délais d’expiration dans les requêtes se produisent, par exemple. De manière naïve, je m’attendrais à voir ces délais dans les journaux.

On pourrait également améliorer la requête qui construit les personnes ciblées avec une sortie statistique.

Tout cela n’est pas difficile dans un environnement sandbox, mais peut être dangereux en production.

2 « J'aime »

Continue dans :