Ici, 6 tâches sont en cours de nouvelle tentative. C’est un nombre acceptable et je sais pourquoi.
Si ce nombre est de l’ordre de 1000, ce n’est pas bon et vous devez agir.
Avez-vous des erreurs dans les journaux d’e-mails ou les journaux d’erreurs du serveur /logs ?
Points à considérer :
Votre fournisseur de services de messagerie vous limite-t-il ? Avez-vous dépassé leurs limites de débit pour le niveau de service sur lequel vous vous trouvez ? Avez-vous payé votre facture auprès d’eux ?
La file d’attente est-elle entièrement composée de tâches UserEmail (en grande partie) ?
Vérifiez le tableau de bord de votre service de messagerie (chez votre fournisseur de services de messagerie, pas sur Discourse) et voyez s’il y a des informations là-bas.
oui, presque tous sont des jobs d’e-mails d’utilisateurs
J’ai vérifié Mailgun (4 instances en cours d’exécution sous mon compte)
la première est la seule qui rencontre ce problème et la date ne semble pas être mauvaise, j’ai aussi vérifié les logs mais je n’ai rien trouvé de suspect non plus.
comment puis-je vérifier cela ?
sur discourse (admin/email/sent) j’ai vu que l’e-mail de résumé du chat était envoyé avec une faible fréquence, comme au maximum 5-6 par jour, la plupart du temps seulement 1 ou aucun. comment se fait-il qu’il crée autant de tâches dans sidekiq ?
J’ai remarqué que le problème de file d’attente sidekiq a commencé juste après ma mise à niveau vers 3.4.0.beta4-dev, l’autre instance que j’ai installée à peu près au même moment semble avoir le même problème (je confirme maintenant)
J’ai aussi regardé les ids, il semble que le système essaie d’envoyer un résumé de chat à tous les utilisateurs
Est-ce normal ?
mise à jour :
Désactiver le chat empêche ces tâches d’être mises en file d’attente à nouveau, mais mon site a besoin de la fonction de chat, et je cherche toujours d’autres solutions.
autre mise à jour :
J’ai désactivé la fonction de chat pendant 2 jours, je l’ai réactivée et j’ai changé les jours de rétention du canal de chat de 180 à 3 jours. Maintenant, cela semble fonctionner correctement, je vais continuer à surveiller.
mise à jour 02/01 :
J’ai défini les jours de rétention à 7, environ 1 101 685 tâches mises en file d’attente actuellement, il semble que mon serveur puisse gérer cette quantité et que le site ne devienne pas lent.
Désolé @th21 - c’était effectivement un bug qui sera corrigé par
Nous avons une requête qui liste toutes les mentions ou messages privés “non lus” pour le chat, et, en essayant d’être trop malin, elle s’est avérée erronée. Au lieu de mettre en file d’attente un “résumé de chat” (alias notification par e-mail) pour les mentions dans les canaux ou les messages privés non lus, elle mettait en file d’attente un travail pour chaque message Comme ce travail s’exécutait toutes les 5 minutes, il a facilement surchargé sidekiq avec des travaux inutiles… (note : les e-mails n’étaient heureusement pas envoyés car nous ne pourrions récupérer aucune mention).