My Writings. My Thoughts.

Garbage Collector PHP 5.3, démontré

// juin 11th, 2011 // No Comments » // Informatique

garbage-collector-4-memoire-occupee_m

PHP n’est pas fait pour des longs/lourds traitements, certes.
Et pire, pour un script public, il faut même y faire très attention.

Mais il peux arriver des besoins comme faire des traitements sur un volume de données important en CRON ou en ligne de commande.
On arrive très vite, alors,  sur une occupation de mémoire importante et on sent bien les performances de dégénérer …

Je suis pas mal fâché avec les développeurs de PHP, mais par contre, on ne peux que saluer l’arrivée des fonctions gc_* dans PHP 5.3 …
Un bon article démonstratif, sur le sujet, ici : PHP 5.3 : Garbage Collector et consommation mémoire
Et bien sûr, pour la pratique, le manuel officiel : PHP: Garbage Collection

Plowshare Megaupload unexpected HTTP code 302

// février 28th, 2011 // No Comments » // Informatique

Megaupload

Qui connait Plowshare ?

Pour ceux qui ne connaissent pas, Plowshare est un programme unix qui permet d’effectuer des téléchargements de fichiers sur des plates formes comme Rapidshare, Megaupload en ligne de commande …
http://code.google.com/p/plowshare/
Très pratique si vous vous avez la malchance de disposer d’une connexion minable mais par contre la chance d’avoir un serveur dédié  là où la connexion est meilleure. L’avantage est que une fois le fichier sur son propre serveur, on peux télécharger tranquillement avec son accélérateur (qui au fond, ne sert a rien) et éviter cauchemars a 99% quand le serveur de fichier ne supporte pas les reprises.
Korben explique très bien comment l’installer, je n’y reviendrai plus : http://www.korben.info/plowshare-telecharger-en-ligne-de-commande-sur-megaupload-rapidshare-et-dautres.html

Pour information, plowshare permet aussi d’uploader des fichiers … mais ça, on s’en fout. :)

Plowshare vs Megaupload, Erreur 302

Depuis un peu plus d’une semaine, quand on télécharge sur Megaupload, on a l’erreur suivant :

unexpected HTTP code 302

L’explication :

Le problème semble provenir d’un changement au niveau de Megaupload.
Il existe ne petite tempo de 45 secondes avant le téléchargement, sur Megaupload, mais n’étais pas obligatoire. Ce qui n’est plus le cas, maintenant.
Le problème est que Plowdown, prenant en compte le fait que se ne soit pas obligatoire, ne prends pas en compte ce temps d’attente.

La solution :

Officiellement, il n’y en a pas. On attends encore la correction au niveau des développeurs.

Mais en non-officiel, vous pouvez aller faire une modification au niveau d’un fichier de Ploshare : ici /usr/share/plowshare/download.sh ou ici /usr/local/share/plowshare/download.sh

Recherchez ensuite la ligne qui effectue le téléchargement et ajouter une petite attente d’une minute avant le lancement.

sleep 60
CODE=$(with_log ${CURL[@]} -w “%{http_code}” -y60 -f –globoff \
-o “$TEMP_FILENAME” “$FILE_URL”) || DRETVAL=$?

Voili voilou. Relancez votre téléchargement. Et comme vous l’avez compris, vous allez attendre un peu avant quelle ne commence réellement. Mais au moins, elle commencera.

Je n’ai pas encore eu l’occasion de tester cette modification sur les autres plates-formes de téléchargement … mais a priori, il n’y aura pas de problème.