Détail du message 81791.6

Message numéro 6 dans le sujet Problème traitement tache qui agit sur les clients.

  • 81791.6 en réponse à 81791.4 écrit par mamous

    13/11/2013 11:19


    Jean-Michel
    Titre : Community Manager
    Rang : Expert
    Bonjour,

    Le code que vous avez fournit ne correspond pas à l'utilisation de chunk tel qu'il est mis en oeuvre dans les tâches que je vous ai cité.

    Ce qui vous arrive probablement et que j'imagine facilement, c'est soit un timeout soit un memory limit.

    Or l'utilisation le découpage du traitement en lot (chunk) va effectivement résoudre ce type de problème.
    Il est des sites en production ayant des volumes beaucoup plus important que 9000 documents (que ce soit au niveau de la base client ou du catalogue produit, ou encore des pages) et arrivant à s'exécuter sans aucun problème avec cette mécanique.

    Pour expliquer comment ca fonctionne ; dans le script appelant on fait une requête minimale, de sorte à ce que l'emprunte mémoire soit la plus faible possible et le temps d'exécution soit le plus petit possible. Ce script invoque ensuite son chunk par "f_util_System::execHTTPScript".
    C'est dans le chunk que l'on va exécuter le code lourd et couteux en temps d'exécution et emprunte mémoire.
    Pendant que le chunk s'exécute il n'y a pas de décompte de temps qui est fait pour l'appelant ni de consommation mémoire supplémentaire, c'est sur le chunk que ces décomptes sont fait et c'est ce qui permet effectivement de fait un traitement de masse effectif. C'est pour cela qu'il est très important que le script appelant soit le plus minimal/optimisé possible.

    Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
    Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié.
 
1471 membres
Aucun membre connecté