Impossible d'envoyer des e-mails récapitulatifs : avis de dépréciation de Jobs::UserEmail / Aucun e-mail après mise en file d'attente via Rails

Impossible d’envoyer le résumé. Les résumés sont mis en file d’attente mais ne sont pas envoyés en réalité. Je ne vois aucun journal d’e-mails.

  • Je vois les tâches de résumé mises en file d’attente dans Sidekiq
  • Aucun e-mail de résumé réel n’est envoyé
  • Chaque tâche enregistre :
Avis de dépréciation : Jobs::UserEmail a été mis en file d'attente avec des valeurs d'arguments qui ne se sérialisent pas proprement en/depuis JSON. Cela signifie que la tâche sera exécutée avec des valeurs légèrement différentes de celles fournies à `enqueue`. Les valeurs d'arguments doivent être des chaînes de caractères, des booléens, des nombres ou nil (ou des tableaux/hash de ces types de valeurs). (déprécié depuis Discourse 2.9) (suppression dans Discourse 3.0)
  • Aucun problème de processus SMTP ou Sidekiq n’est présent
  • Tous les e-mails non-résumés (et les e-mails de test) sont envoyés et livrés correctement

Voici le journal d’erreurs complet
Infos :

[privateinvestigator] Avis de dépréciation : Jobs::UserEmail a été mis en file d'attente avec des valeurs d'arguments qui ne se sérialisent pas proprement en/depuis JSON. Cela signifie que la tâche sera exécutée avec des valeurs légèrement différentes de celles fournies à `enqueue`. Les valeurs d'arguments doivent être des chaînes de caractères, des booléens, des nombres ou nil (ou des tableaux/hash de ces types de valeurs). (déprécié depuis Discourse 2.9) (suppression dans Discourse 3.0)
At (discourse):89:in `block (3 levels) in <main>'

Trace de la pile

activesupport-8.0.3/lib/active_support/broadcast_logger.rb:218:in `block in dispatch'
activesupport-8.0.3/lib/active_support/broadcast_logger.rb:217:in `map'
activesupport-8.0.3/lib/active_support/broadcast_logger.rb:217:in `dispatch'
activesupport-8.0.3/lib/active_support/broadcast_logger.rb:129:in `warn'
/var/www/discourse/lib/discourse.rb:1053:in `deprecate'
/var/www/discourse/app/jobs/base.rb:407:in `enqueue'
(discourse):89:in `block (3 levels) in <main>'
activerecord-8.0.3/lib/active_record/relation/batches.rb:88:in `each'
activerecord-8.0.3/lib/active_record/relation/batches.rb:88:in `block in find_each'
activerecord-8.0.3/lib/active_record/relation/batches.rb:172:in `block in find_in_batches'
activerecord-8.0.3/lib/active_record/relation/batches.rb:461:in `block in batch_on_unloaded_relation'

<internal:kernel>:187:in `loop'
activerecord-8.0.3/lib/active_record/relation/batches.rb:434:in `batch_on_unloaded_relation'
activerecord-8.0.3/lib/active_record/relation/batches.rb:289:in `in_batches'
activerecord-8.0.3/lib/active_record/relation/batches.rb:171:in `find_in_batches'
activerecord-8.0.3/lib/active_record/relation/batches.rb:87:in `find_each'
(discourse):86:in `with_index'
(discourse):86:in `block (2 levels) in <main>'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:203:in `with_connection'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
(discourse):55:in `block in <main>'
(discourse):54:in `each'
(discourse):54:in `<main>'
irb-1.15.2/lib/irb/workspace.rb:101:in `eval'
irb-1.15.2/lib/irb/workspace.rb:101:in `evaluate'
irb-1.15.2/lib/irb/context.rb:591:in `evaluate_expression'
irb-1.15.2/lib/irb/context.rb:557:in `evaluate'
irb-1.15.2/lib/irb.rb:201:in `block (2 levels) in eval_input'
irb-1.15.2/lib/irb.rb:512:in `signal_status'
irb-1.15.2/lib/irb.rb:193:in `block in eval_input'
irb-1.15.2/lib/irb.rb:272:in `block in each_top_level_statement'

<internal:kernel>:187:in `loop'
irb-1.15.2/lib/irb.rb:269:in `each_top_level_statement'
irb-1.15.2/lib/irb.rb:192:in `eval_input'
irb-1.15.2/lib/irb.rb:173:in `block in run'
irb-1.15.2/lib/irb.rb:172:in `catch'
irb-1.15.2/lib/irb.rb:172:in `run'
railties-8.0.3/lib/rails/commands/console/irb_console.rb:113:in `start'
railties-8.0.3/lib/rails/commands/console/console_command.rb:59:in `start'
railties-8.0.3/lib/rails/commands/console/console_command.rb:8:in `start'
railties-8.0.3/lib/rails/commands/console/console_command.rb:87:in `perform'
thor-1.4.0/lib/thor/command.rb:28:in `run'
thor-1.4.0/lib/thor/invocation.rb:127:in `invoke_command'
railties-8.0.3/lib/rails/command/base.rb:178:in `invoke_command'
thor-1.4.0/lib/thor.rb:538:in `dispatch'
railties-8.0.3/lib/rails/command/base.rb:73:in `perform'
railties-8.0.3/lib/rails/command.rb:65:in `block in invoke'
railties-8.0.3/lib/rails/command.rb:143:in `with_argv'
railties-8.0.3/lib/rails/command.rb:63:in `invoke'
railties-8.0.3/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
script/rails:8:in `<top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

Quelqu’un d’autre a-t-il rencontré le même problème ?
Comment puis-je résoudre cela ?

1 « J'aime »

@emonunix Il semble que personne dans la communauté n’ait pu répondre à votre question. Désolé pour cela ! Avez-vous pu résoudre votre problème ?

Sinon, y a-t-il quelque chose concernant votre configuration que vous puissiez nous dire ? Êtes-vous sur un site auto-hébergé configuré selon les instructions d’installation officielles ? Votre site est-il à jour ?

2 « J'aime »

Salut @tobiaseigen Merci pour votre suivi.
Nous rencontrons toujours ce problème sur notre configuration.
Nous exécutons un environnement Discourse multisite et, de manière intéressante, certains sites envoient correctement les digests aux utilisateurs éligibles, tandis que d’autres mettent en file d’attente les jobs de digest mais ne les envoient jamais réellement.

Lorsque nous déclenchons manuellement la livraison des digests depuis Rails, le comportement est le même :

  • Les jobs apparaissent dans Sidekiq → En attente,
  • Mais aucun e-mail réel n’est envoyé,
  • Et aucune entrée n’apparaît dans les journaux d’e-mails.

Tous les e-mails réguliers (non-digest) tels que l’activation de compte, la réinitialisation de mot de passe et les e-mails de test sont envoyés parfaitement.

Nous suivons déjà les instructions officielles de configuration de Discourse, et notre installation est entièrement à jour.
La machine hôte exécute Ubuntu 20.04 LTS.

Pourriez-vous s’il vous plaît nous indiquer quels détails ou journaux spécifiques nous pouvons partager pour aider à diagnostiquer davantage ce problème ?

1 « J'aime »

Avez-vous modifié des paramètres liés au résumé ? Comme Supprimer l’e-mail du résumé après X jours

1 « J'aime »

Oui @moin, j’ai essayé en augmentant et diminuant Suppress digest email after days
Cela n’a rien changé.

1 « J'aime »

Est-ce également lié à Digest/Activity Summary emails not sending for users even though all conditions are met (Discourse 3.6) ? Je vais fermer ce sujet et voir si vous et @Jacob_Peebles pouvez obtenir l’aide dont vous avez besoin là-bas pour résoudre votre problème d’envoi de résumés. Si je me trompe, envoyez-moi un message privé et je rouvrirai ce sujet.

1 « J'aime »