Aller au contenu
Invision Board France
  • 1

Cron daemon / Logs d'erreurs sitemapgenerator


Soundamental

Question

Salut à tous ^^

 

Depuis la fin de l'année dernière (peut-être suite à une mise à jour, pas de souvenir), je suis littéralement spammé par des mails "Cron daemon" (équivalent de mailer daemon, mais pour les tâches cron, visiblement). J'en reçois environ 10 par jours en moyenne !

J'ai réglé le forum pour qu'il fonctionne avec une tâche cron qui s'exécute toutes les minutes.

 

Voici le message d'erreur contenu dans le dernier cron daemon (j'ai mis "xxx" pour cacher certaines parties) : 

 

Exception:
IPS\Db\Exception Object
(
    [query] => UPDATE `ibf_core_tasks` core_tasks  SET `running`=?,`next_run`=?,`last_run`=? WHERE id=? 
    [binds] => Array
        (
            [0] => 0
            [1] => 1519463761
            [2] => 1519462861
            [3] => 1224
        )

    [message:protected] => Prepared statement needs to be re-prepared
    [string:Exception:private] => 
    [code:protected] => 1615
    [file:protected] => /home/xxx/forum/system/Db/Db.php
    [line:protected] => 541
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /home/xxx/forum/system/Db/Db.php
                    [line] => 990
                    [function] => preparedQuery
                    [class] => IPS\_Db
                    [type] => ->
                    [args] => Array
                        (
                            [0] => /*IPS\_Task::run:217*/ UPDATE `ibf_core_tasks` core_tasks  SET `running`=?,`next_run`=?,`last_run`=? WHERE id=? 
                            [1] => Array
                                (
                                    [0] => 0
                                    [1] => 1519463761
                                    [2] => 1519462861
                                    [3] => 1224
                                )

                        )

                )

            [1] => Array
                (
                    [file] => /home/xxx/forum/system/Patterns/ActiveRecord.php
                    [line] => 492
                    [function] => update
                    [class] => IPS\_Db
                    [type] => ->
                    [args] => Array
                        (
                            [0] => `ibf_core_tasks` core_tasks
                            [1] => `running`=?,`next_run`=?,`last_run`=?
                            [2] => WHERE id=?
                        )

                )

            [2] => Array
                (
                    [file] => /home/xxx/forum/system/Task/Task.php
                    [line] => 254
                    [function] => save
                    [class] => IPS\Patterns\_ActiveRecord
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

            [3] => Array
                (
                    [file] => /home/xxx/forum/system/Task/Task.php
                    [line] => 217
                    [function] => run
                    [class] => IPS\_Task
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

            [4] => Array
                (
                    [file] => /home/xxx/forum/applications/core/interface/task/task.php
                    [line] => 60
                    [function] => runAndLog
                    [class] => IPS\_Task
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

        )

    [previous:Exception:private] => 
)

 

Je viens de passer en PHP7 pour être raccord avec la technologie du forum mais pas du tout sûr que ce soit lié. Du coup je fouille le PC admin et je tombe sur la page qui liste les logs d'erreur liés aux tâches. Je vérifie chaque tâche et au final une seule a généré des logs : sitemapgenerator

Visiblement le système demande à la tâche de s'exécuter toutes les 15 minutes pour ensuite générer des erreurs qui disent que le sitemap a déjà été envoyé aux moteurs de recherche, c'est stupide :mellow:

Peut-on modifier cette fréquence ?

Est-ce cette tâche qui est à l'origine des tous ces cron daemon ?

Si non, une idée de l'origine du problème ?

 

Merci par avance pour votre aide ^^

 

 

Modifié par Soundamental
Lien vers le commentaire
Partager sur d’autres sites

15 réponses à cette question

Messages recommandés

  • 1

J'ai créé un second ticket pour le problème de Cron daemon, visiblement sans rapport avec les erreurs CSRF.

Cette fois j'ai eu une réponse pertinente dès le premier message. En fait ce serait provoqué par les tables qui sont au format MyISAM. Je dois donc les convertir au format InnoDB.

 

J'ai trouvé cette requête sur le net, quelqu'un peut-il me confirmer qu'elle est correcte ?

 

SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE 1=1
    AND engine = 'MyISAM'
    AND table_schema NOT IN ('information_schema', 'mysql', 'performance_schema');

 

  • Triste 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2

Bon, avec quelques jours de recul je pense pouvoir faire le bilan de la transformation des tables de MyISAM vers InnoDB :

- ça n'a eu aucun effet sur les erreurs de la tâche du sitemapgenerator

- ça a supprimé totalement les cron daemon ! (a priori c'est bien cette manip là, peut-être aidée par le passage en PHP 7 ?)

- ça a totalement supprimé les multiples petites erreurs SQL qui avaient lieu tous les jours

 

Bref, bilan TRES positif ! Je conseille donc à tous ceux qui auraient des problèmes de cron daemon et/ou d'erreurs SQL d'effectuer cette modification de leur BDD s'ils sont en MyISAM.

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
  • Administration

Bonjour,

 

il est conseillé d’utiliser la même version de php pour la communauté et pour la tâche cron. Donc si tu as modifié la version de php pour ta communauté, récupère la commande cron dans ton PCA et modifie le cron que tu avais positionné sur ton serveur avec la nouvelle commande.

 

Pour moi les erreurs ne sont pas liées à la fréquence du cron toutes les minutes.

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
il y a 7 minutes, Youp3 a dit :

il est conseillé d’utiliser la même version de php pour la communauté et pour la tâche cron. Donc si tu as modifié la version de php pour ta communauté, récupère la commande cron dans ton PCA et modifie le cron que tu avais positionné sur ton serveur avec la nouvelle commande.

C'est fait, j'y avais pensé ^^
Mais ça n'a rien changé...

 

il y a 8 minutes, Youp3 a dit :

Pour moi les erreurs ne sont pas liées à la fréquence du cron toutes les minutes.

Mais pas d'autre idée alors ?

  • Triste 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
il y a 15 minutes, Youp3 a dit :

Tu peux toujours désactiver la tâche que tu soupçonnes pour voir si cela change quelque chose.

Ah oui, bonne idée !
Je pense jamais à ce genre de chose, pourtant basique...

 

Merci :P

Je vais attendre demain matin pour être certain que les cron daemon persistent, et si oui je désactive (il suffit de supprimer l'URL du sitemap je pense).

Lien vers le commentaire
Partager sur d’autres sites

  • 1
Il y a 14 heures, Soundamental a dit :

je désactive (il suffit de supprimer l'URL du sitemap je pense).

 

Bon en fait non, on ne peut pas supprimer le lien vers le sitemap, et si on le "vide" en cochant partout "ne pas inclure", ça ne désactive rien non plus (la tâche continue de se lancer).

En fait le gestionnaire de tâches n'a de gestionnaire que le nom puisqu'on ne peut pour ainsi dire rien faire avec à part lancer une tâche en dehors de sa périodicité et lire les logs d'erreur.

 

Du coup, est-il possible de désactiver une tâche ? De modifier sa périodicité ? D'agir quoi...

Parce que je continue de recevoir des cron daemon :(

Lien vers le commentaire
Partager sur d’autres sites

  • 1

En continuant mes recherches je découvre qu'il y a plein de messages d'erreur provoqués par les invités, avec par exemple cette URL et ce message :

 

URL en cause (parmi d'autres) :

https://www.soundamental.org/forum/language/?csrfKey=cfa3f6564eacb9d4b1419bc0404158fd

 

Je ne sais pas d'où sort cette URL, les visiteurs et les membres n'ont pas accès au choix de la langue...

 

Message d'erreur :

Citation

Désolé, il y a un problème

La clé de protection CSRF ne correspond pas. Cela peut indiquer qu’un greffon ou un thème n’est pas à jour. Veuillez contacter le support technique pour plus d’informations.

Code d’erreur  2S119/1

 

Je n'ai pas de greffon ni d'applications tierce, seulement le thème de base que j'ai modifié.

Quelqu'un a déjà eu ce message ?

C'est peut-être lié à mes cron daemon. Si vous n'avez pas d'idée, je contacterai le support.

Lien vers le commentaire
Partager sur d’autres sites

  • 1

OK, tant pis. Merci ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 1

Les gens du support se foutraient pas un peu de notre gu.... ?

J'ai eu l'impression d'avoir un imbécile complet, il fallait vraiment lui mâcher tout le travail, zéro réflexion de son coté !

 

J'avais déjà été déçu lors du problème d'infection par la cochonnerie pour la version 3 du forum, où ils s'en foutaient royalement étant donné que ce serait réglé en version 4. Sauf qu'en attendant les forums atteints ont sans doute été très lésés en terme d'inscriptions voir de participation.

 

Bref, j'y retourne, mais sans convictions :(

 

  • Triste 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
  • Administration

Je n’ai pas la réponse à ta dernière question.

Le plus simple cela va être de tester la commande après avoir pris soin de sauvegarder la base actuelle. ;)

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1

OK, merci ^^

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1

Merci @brazoka ;)

 

J'ai donc converti toutes les tables du forum en InnoDB (sauf une récalcitrante). Le jour même et le lendemain, les cron daemon ont continué d'arriver dans ma boite mail mais ce matin c'est calme.

Trop tôt pour dire que c'est résolu, cependant je me dis (plein d'espoir :D ) qu'il y avait ptet un cache quelconque qui avait gardé le format MyISAM et qui a donc fait perdurer un peu les erreurs.
Je vais attendre quelques jours avant de considérer ce problème comme réglé.

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0
Le 27/02/2018 à 06:47, Soundamental a dit :

Les gens du support se foutraient pas un peu de notre gu.... ?

J'ai eu l'impression d'avoir un imbécile complet, il fallait vraiment lui mâcher tout le travail, zéro réflexion de son coté !

 

J'avais déjà été déçu lors du problème d'infection par la cochonnerie pour la version 3 du forum, où ils s'en foutaient royalement étant donné que ce serait réglé en version 4. Sauf qu'en attendant les forums atteints ont sans doute été très lésés en terme d'inscriptions voir de participation.

 

Bref, j'y retourne, mais sans convictions :(

 

Bonjour juste pour dire que moi j'ai jamais eu de soucie question support . il on toujours été là et pourtant je suis un cas ^^ peut être que dans certain cas ils patauge dans le problème .

 

Bon courage en tout cas .

  • Haha 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.