Est-ce que cela signifie que vous obtenez le même résultat en ajoutant une tâche ou qu’une tâche déjà existante dans le plugin a ce comportement ?
En essayant de comprendre pourquoi les tâches que j’ai développées dans mon propre plugin étaient exécutées deux fois, j’ai testé une tâche existante dans le plugin Chat et elle a également été exécutée deux fois.
J’ai testé aussi quelques tâches d’autres plugins mais je ne me souviens plus lesquelles. Certaines s’exécutaient une fois mais il n’y avait rien d’évident concernant la différence d’implémentation.
Peut-être y a-t-il quelque chose à voir avec l’autoloading ?
Sur un nouveau plugin, le moteur contient cette ligne :
config.autoload_paths << File.join(config.root, "lib")
Si je n’autoload pas lib mais lib/some_path pour éviter d’autoload lib/tasks, cela semble mieux, mais l’inconvénient est que cela casse l’autoloading (je me suis arrêté là). Ce qui peut conduire à avoir un tas d’instructions require_relative pour compenser…