Je crois que c'est un peu le but de zc.async.
http://pypi.python.org/pypi/zc.async/1.5.1
Peut-être que tu devrais l'utiliser. Y a une belle doc en prime:
http://packages.python.org/zc.async/1.5.0/

Le 20 octobre 2008 13:47, Thierry Florac <[EMAIL PROTECTED]> a écrit :
>
>  Bonjour tout le monde,
>
> J'ai actuellement un petit souci de gestion de threads sous Zope3 que je
> ne parviens pas à résoudre ; je vous explique...
>
> Je dois lancer des opérations longues voire très longues sur un serveur
> Zope3 (release 3.3.1 pour être exact), pour lesquelles l'utilisateur ne
> saurait attendre la fin du traitement ; il s'agit en l'occurrence de
> conversion de vidéos en Flash avec FFMPEG.
> Ce que j'aimerais faire consiste donc, dans l'ordre :
>  - à la fin du téléchargement, intégrer le nouveau fichier dans une
> liste de fichiers à convertir et rendre la main immédiatement à
> l'utilisateur
>  - régulièrement, vérifier via un autre tâche (héritée de
> twisted.internet.task.LoopingCall) s'il y a des fichiers en attente, et
> dans ce cas les convertir.
>  - à la fin de la conversion, mettre à jour différentes métadonnées
> associées au fichier converti et supprimer le fichier original.
>
> Ce processus en lui même ne pose pas de problème ; là où ça coince c'est
> que pendant tout le processus de conversion, le serveur ne répond pas
> aux requêtes. Gênant, non ?
>
> Je suis donc preneur de toute idée, sachant que mon code est structuré
> un peu comme ça :
>  - class ConversionManager(tâche principale) : connectée à la base via
> ZEO ; toutes les 60 secondes, il extrait la liste des fichiers à
> convertir ; pour chaque fichier, teste s'il existe un utilitaire de
> conversion adapté au contentType du fichier, et si oui demande la
> conversion ; cette conversion est lancée via un thread
> "ConversionManagerThread" (en mode setDaemon(True))
>  - class ConversionManagerThread(hérite de Thread) : prend en paramètre
> le fichier à convertir et l'utilitaire de conversion à utiliser, et
> demande le lancement de l'utilitaire ; à la fin de la conversion, met à
> jour les métadonnées du fichier si tout s'est bien passé et supprime le
> fichier original
>  - utilitaire de conversion : lance la commande FFMPEG avec ses
> paramètres via os.spawnlp, en mode os.P_WAIT ; renvoie à la fin de la
> conversion différentes informations liées au résultat de l'opération.
>
> Merci d'avance,
>
>  Thierry Florac
> --
>  Chef de projet intranet/internet
>  Office National des Forêts - Département Informatique
>  2, Avenue de Saint-Mandé
>  75570 PARIS Cedex 12
>  Mél : [EMAIL PROTECTED]
>  Tél. : +33 01.40.19.59.64
>  Fax. : +33 01.40.19.59.85
>
> _______________________________________________
> zope3-french-user mailing list
> zope3-french-user@lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/zope3-french-user
>



-- 
Gaël
_______________________________________________
zope3-french-user mailing list
zope3-french-user@lists.afpy.org
http://lists.afpy.org/mailman/listinfo/zope3-french-user

Répondre à