[RUBY] Dépannage lors de la montée de Mastodon de la v3.0.x à la v3.1.x

Aperçu

Quand j'ai élevé Mastodon de la v3.0.x à la v3.1.x à la fois, sidekiq est mort et a moussé à cause de l'environnement de la gemme.

Symptômes

Il n'est plus du tout mis à jour à partir du moment où l'Union TL de Mastodon a été mis à jour

dépannage

édition de gemme

Elucidation de la cause

D'abord, allez jeter un œil à Sidekiq

スクリーンショット 2020-06-06 04.32.44.png

Il existe de nombreux états de veille, et pour cette raison, la valeur morte est 0 et le nombre de tentatives est extrêmement faible.

L'odeur causée par Sidekiq ne fonctionne pas

Regardez dans le journal de systemctl

Parce que Mastodon fonctionne dans notre environnement Ubuntu 16.04

sudo systemctl status mastodon-sidekiq

Vous pouvez voir le dernier statut et le journal de sidekiq of mastodon. Dans le cas de CentOS, les commandes sont différentes.

Je n'ai pas pu le publier car je ne pouvais pas obtenir le journal tout de suite, mais j'ai vu une erreur comme si je ne pouvais pas construire une partie de la gemme.

Ça devrait être ça. Certes, quand je faisais l'installation du bundle après la mise à jour, un certain nombre de gemmes lançaient une erreur disant "Ignorer le nom du fichier gem car ses extensions ne sont pas construites. Essayez: gem pristine gemfile name --version`. Référence: https://qiita.com/MIRAI1221/items/cfae7e7eb3ddba01e999

Solution

Sur le site mentionné dans le chapitre précédent

nom de fichier gemme vierge--version

Il a été dit que cette méthode peut être utilisée, mais comme un nombre considérable d'erreurs similaires se sont produites, la méthode de cet article de référence ne peut pas la résoudre. Ainsi, quand j'ai recherché l'option de «gemme vierge», j'ai trouvé que «tout» était correct.

Juste au cas où, supprimez tout vendeur / bundle sous mastodon / live (sous le répertoire de Mastodon, peut-être que la personne qui l'a mis récemment crée un dossier avec le nom Mastodon) et gravez la gemme.

Référence: https://qiita.com/Yinaura/items/1a96fc77c81a2d6a4d95

rm -rf vendor/bundle

De plus, je me sentais sauvage et je pensais qu'il serait préférable de mettre à jour également du côté de la commande gem, alors je l'ai fait. J'ai frappé gem update --system, mais cela n'a probablement aucun sens car je viens de mettre à jour le côté système (quelque chose comme yarn global update ou npm update -g en termes de nœud).

Ensuite, appuyez sur la commande précédente.

gem pristine --all

Je suppose qu'il y a beaucoup de gemmes qui disent «restauré».

Dès que cela est fait, installez le paquet comme d'habitude et vous avez terminé.

bundle install

C'est la fin du tour. Redémarrez Mastodon.

スクリーンショット 2020-06-06 05.11.09.png

Il semble que cela a fonctionné. Félicitations ... Si vous regardez de près, voyez-vous "Stopped mastodon-sidekiq"? Êtes-vous arrêté?

édition sidekiq

Elucidation de la cause

Essayez de faire de petits trucs

En regardant l'écran de gestion GUI de sidekiq, il semble que cela ne fonctionne pas comme prévu. Tout en recherchant le message d'erreur sur Google, j'ai essayé diverses choses en examinant le problème de type OSS de l'application rails sur github.

systemctl daemon-reload
systemctl stop mastodon-sidekiq
systemctl start mastodon-sidekiq

Mais ça n'a pas marché.

Regardez dans le journal de systemctl

journalctl -r -u mastodon-sidekiq

Si vous regardez de plus près le journal ... ouais?

スクリーンショット 2020-06-06 05.11.09.png

J'ai trouvé un journal avec une prémonition très désagréable telle que "Vous vous connectez à Redis v3.0.6, Sidekiq nécessite Redis v4.0.0 ou supérieur". De plus, immédiatement après cela, la trace d'erreur est faite et c'est de la mousse.

Si vous le recherchez, la dernière version stable de redis est la v6.0.4. Le référentiel officiel est trop ancien ... mais je déteste wget et je me demande s'il y a un PPA ...

Solution

Redis du référentiel officiel Ubuntu: https://launchpad.net/ubuntu/+source/redi Au fur et à mesure que la version d'Ubuntu augmente, les redis qui peuvent être installés font de même ... Référence: https://weblabo.oscasierra.net/redis-ubuntu1604-install-apt/

Il y en avait, mais c'est officieux et effrayant ... Je ne sais pas. Mais je ne peux pas aider parce que je ne peux pas changer mon dos. Ajoutez-le au référentiel apt.

add-apt-repository ppa:chris-lea/redis-server
apt update
apt upgrade

red est effacé jusqu'à 6.0.7.

C'est ennuyeux, donc une fois redémarré (hey)

スクリーンショット 2020-06-06 05.23.16.png

Cette fois, il semble qu'un journal animé (?) Circule correctement, et sidekiq semble digérer la file d'attente petit à petit, donc le dépannage est terminé.

Conclusion

--Depuis la v3.1.3, la version requise de redis passera de 3 ou supérieur à 4 ou supérieur, alors soyez prudent si vous utilisez Ubuntu 16.04 ou une version inférieure. --ʻIgnorer le nom de gemfile car ses extensions ne sont pas construites. Essayez: gem pristine gemfile name --version, un par un gem pristine hoge sans avoir à faire gem pristine --all` je peux le faire

Try

J'ai l'habitude de ne pas lire le manuel, alors peut-être ai-je écrit correctement la procédure dans les informations de publication? Je pensais qu'il y avait

tootsuite/mastodon v3.1.3: https://github.com/tootsuite/mastodon/releases/tag/v3.1.3

The minimum supported Redis version has changed from 3 to 4

Quand j'ai lu ceci, au moins je ne suis pas tombé sur des redis.

Cependant, rien n'a été écrit sur les gemmes, alors je me demande si c'est quelque chose comme ça ... Je ne sais pas, un endroit comme ce nœud ...

Pourquoi j'ai écrit ça

Peut-être parce que jp Saba est instable à bien des égards ces jours-ci, ou parce que les immigrants Mastodon du premier groupe majoritaire se sont installés, je pense que le nombre d'articles sur Mastodon diminue de manière flagrante, donc je prendrai un journal lorsque je dépannerai approximativement. J'ai essayé d'écrire

P.S.

Si vous souhaitez devenir étudiant ingénieur (étudiants qui sont souvent vus lors de l'embauche de nouveaux diplômés et qui n'ont pas encore touché), veuillez configurer une instance pour chaque personne et dire à chaque fois que vous souhaitez qu'ils acquièrent une connaissance des coûts, du DevOps et des infrastructures. Je le fais, mais je me demande s'il existe une manière plus inspirante de persuader ...

Recommended Posts

Dépannage lors de la montée de Mastodon de la v3.0.x à la v3.1.x
L'histoire de la transition de Spring Boot 1.5 à 2.1
Modifications lors de la migration de Spring Boot 1.5 vers Spring Boot 2.0
Modifications lors de la migration de Spring Boot 2.0 vers Spring Boot 2.2
Précautions lors de la migration de VB6.0 vers JAVA
Résumé de la mousse lors de la mise à jour de JMockit 1.4 vers 1.30
Précautions lors de la conversion de décimal en binaire
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Migrer de JUnit 4 vers JUnit 5
De Java à Ruby !!
L'histoire de la montée de Spring Boot de la série 1.5 à la série 2.1 part2
Comment écrire et noter lors de la migration de VB vers JAVA
Comment exclure la couverture générée automatiquement de Jacoco lors de l'utilisation de Lombok
ClassCastException se produit lors de la migration de Java7 vers Java8 ~ Génériques et surcharge ~
[Opensaml] NoClassDefFoundError se produit lors du passage de Tomcat à weblogic
Remarques sur le code de caractère lors de la migration de Windows vers Mac