Échec du travail : undefined method `cancel_scheduled_job' for Jobs::Jobs:Module

pendant Jobs::ProcessPost

Je peux le recréer en ligne de commande :

alors que je peux y accéder avec succès par :

Je crois que cela pourrait être lié à ceci :

Contient :

Dans ce contexte, cela pourrait-il nécessiter un :: en préfixe ?

1 « J'aime »

Hmm, ajouter un :: au début le corrigerait certainement… mais ça ne devrait pas être nécessaire :thinking:

Étant donné que l’appel provient de ::Jobs::ProcessPost, Ruby devrait remonter l’arbre. Il cherchera d’abord ::Jobs::ProcessPost::Jobs, puis ::Jobs::Jobs, et enfin le module ::Jobs.

L’erreur que vous voyez suggère que quelque chose définit ::Jobs::Jobs… ce qui est étrange ! En regardant sur mon instance de développement :

[1] pry(main)> Jobs::Jobs
=> Jobs::Jobs
[2] pry(main)> Jobs::Jobs.constants
=> [:RemapOldBotImages, :GrantBadges]

:exploding_head:

Il semble que ces lignes dans discourse-narrative-bot causent des problèmes. Si je les commente, cela résout le problème.

La bonne nouvelle est que c’est spécifique au développement - lié aux chemins de fichiers des jobs qui ne correspondent pas aux noms des modules. Voici une PR pour nettoyer cela :

Merci pour le rapport @merefield

4 « J'aime »

Ah, oui, étrange et explique pourquoi la production n’a pas explosé !

Merci pour votre réponse rapide !!

2 « J'aime »

Ce sujet a été automatiquement fermé après 17 heures. Les nouvelles réponses ne sont plus autorisées.