Question

Cela faisait longtemps que je voulais lancer un projet animalier qui viserait à le temps de devenir un panneau de contrôle d'hébergement Web, mais principalement centré sur l'hébergement Python - ce qui signifie que je voudrais faire un moyen pour les utilisateurs de générer / démarrer Django / d'autres projets de cadres directement à partir du panneau. Il me semblait avoir trouvé l'outil idéal pour construire mon application avec elle: CherryPy.

Cela me permettrait de le faire comme je le souhaite, en construisant l'application avec son propre HTTP / Serveur HTTPS et également dans mon langage de programmation préféré.

Mais maintenant, une nouvelle question se pose: CherryPy étant un serveur fileté, ce soit le droit pour ce genre de tâche?

Il y aura beaucoup de tâches fastidieuses donc si l’un des tâches, le reste des utilisateurs essayant d'accéder à d'autres pages sera être laissé en attente et éventuellement avoir un temps mort.

J'imagine que ce genre de problème ne se produirait pas sur un serveur fork.

Que conseilleriez-vous?

Était-ce utile?

La solution

" Threaded " et "à base de fourche". les serveurs sont équivalents. Un " fileté " Le serveur a plusieurs threads d’exécution, et si l’un bloque, les autres continuent. A " Fourchette " plusieurs processus s’exécutant sur le serveur, et si l’un bloque, les autres continuent. La seule différence est que, par défaut, les serveurs threadés partageront la mémoire entre les threads, "basé sur une fourchette". ceux par défaut ne partageront pas la mémoire.

Un autre point - le "sous-processus" Le module n'est pas thread-safe, donc si vous essayez de l'utiliser depuis CherryPy, vous obtiendrez des erreurs bizarres. (Il s’agit du bogue Python 1731717 .)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top