Je partage ceci au cas où cela aiderait d’autres personnes qui voient « Mise à jour en cours » dans le panneau d’administration alors qu’aucune mise à jour n’est réellement en cours et que le forum semble par ailleurs sain.
Bien que cela n’ait jamais affecté les mises à jour du gestionnaire Docker, au cours des dernières versions, j’ai dû effectuer des mises à jour via l’interface de ligne de commande (CLI), car le panneau d’administration semblait toujours indiquer que Discourse était en cours de mise à jour.
Mon forum est petit, sans plugins personnalisés.
La solution pour résoudre le problème a été de vider le cache Redis.
Je ne peux pas partager la cause sous-jacente, mais c’était extrêmement frustrant de se heurter à une limite de mes connaissances et de ma compréhension du processus de mise à jour de Discourse (ceci n’est pas une plainte, mais un aveu).
Jusqu’à présent, la reconstruction de l’application a toujours été la solution fiable pour pratiquement n’importe quel problème.
Redis contient également les sessions utilisateurs et bien plus encore. Vider complètement Redis déconnectera tout le monde et supprimera tous les jobs Sidekiq en attente. Les jobs planifiés ne réapparaîtront qu’après le prochain redémarrage.
Cela ne devrait être qu’un dernier recours, et même dans ce cas, je vous encourage à identifier quelles clés spécifiques sont responsables plutôt que d’exécuter un flushall. C’est comme mettre le feu à tout un immeuble parce que vous voulez vous débarrasser d’une souris.
Pourrait-on redémarrer Redis à la place ? Je pense qu’il s’agit d’une base de données en mémoire, donc rien ne serait conservé, par exemple, après un redémarrage du serveur. De plus, un redémarrage du serveur n’est pas destructeur (et peut survenir à tout moment).
Mise à jour via le panneau d’administration (échec/démarrage jamais effectué)
Suivi des étapes manuelles de mise à jour de Discourse (au cours des trois dernières versions)
Effectué plusieurs reconstructions de l’application de lancement.
Recherché sur le forum une issue et une solution similaires.
Enfin, j’ai eu recours à une requête ChatGPT qui a révélé des options Redis, même si ChatGPT lui-même a indiqué qu’il s’agissait d’une solution peu probable (et a suggéré les choses que j’avais déjà essayées).
C’était la seule action que j’ai entreprise et qui a résolu le problème.
Je comprends l’analogie.
Qu’aurais-je pu faire d’autre pour mieux comprendre et résoudre le problème en alternative ?
Je n’ai pas effectué le git pull, mais j’ai bien reconstruit l’application du lanceur.
Ce processus s’est déroulé sans problème, mais cela n’a jamais effacé le fait que le panneau d’administration croyait qu’une mise à jour était en cours.
Merci – donc l’observation est que la mise à jour du panneau d’administration ne fonctionne pas pour vous. De plus, elle ne fonctionne pas pour moi depuis un certain temps ! Ce serait mieux si cela fonctionnait.
Je préfère les mises à jour en ligne de commande, mais je viens de faire une mise à jour de Docker et de Discourse via l’interface sur mon iPhone 15, et cela a très bien fonctionné cette fois (installation standard sur DO).
Je le fais généralement tout en CLI sur l’un de mes ordinateurs, car cela a échoué pour moi dans l’interface la dernière fois que j’ai essayé (il y a quelques mois, donc j’ai dû me connecter en SSH de toute façon).