Comportement inhabituel lors de l'accès aux valeurs de post dans une tâche rake

Cela pourrait provenir d’un malentendu sur la façon dont la base de données est utilisée via Ruby (ActiveRecord ?) par rapport à Rails, mais je rencontre un message d’erreur inhabituel lors de l’exécution d’une tâche Rake.

Le message d’erreur est répété plusieurs fois avec différents identifiants de publication, comme ceci :

Échec de la mise à jour de la publication (topic_id: , post_id: 46367)

Ce message provient de cette ligne dans la tâche Rake posts:refresh_emails :

Un point commun à toutes les publications déclenchant cette erreur est qu’elles se trouvent dans un sujet supprimé. L’échec d’une opération sur ces publications n’est pas totalement inattendu, mais ce qui me surprend, c’est que lors d’une requête sur cet identifiant de publication dans Rails, je vois bien que l’attribut topic_id est défini, alors que la ligne puts échoue à le récupérer.

[1] pry(main)> Post.where(id: 46367)
=> [#<Post:0x000055e95558ad10
  id: 46367,
  user_id: 3372,
  topic_id: 4225,
  ...
  raw_email:
   "<some valid raw email>",
  ...

J’ai parcouru le code un peu et la seule explication évidente que j’ai trouvée pour qu’une erreur soit levée et ce message affiché, c’est que raw_email n’a pas pu être récupéré non plus à la ligne 290, ce qui provoquerait une exception dans Email::Receiver lors de son initialisation.

Cela vient de ma méconnaissance de Ruby et du fait que je n’ai pas creusé particulièrement la méthode revise(), mais il pourrait facilement y avoir d’autres endroits où une exception pourrait être levée pour d’autres raisons.

Quoi qu’il en soit, je suis un peu perplexe quant à la raison pour laquelle cela échoue sur ces publications. Il semble que cette tâche Rake devrait pouvoir opérer sur des publications appartenant à des sujets supprimés, y compris la première publication. Surtout qu’un membre du personnel pourrait restaurer le sujet sans savoir qu’une telle tâche a eu lieu, encore moins qu’elle ne s’est pas appliquée à ce sujet en particulier.

Dans mon cas, je n’ai besoin de rien faire avec ces sujets supprimés et je sais qu’ils ne seront pas restaurés, donc je ne cherche pas de solution, je voulais simplement attirer l’attention de quelqu’un sur ce point. Peut-être que c’est quelque chose, peut-être que ce n’est rien.