Pregunta

Durante bastante tiempo he querido comenzar un proyecto de mascotas que apuntará a hora de convertirse en un panel de control de alojamiento web, pero centrado principalmente en el alojamiento de Python: lo que significa que me gustaría hacer un camino para que los usuarios generen / inicien Django / otros proyectos de marcos directamente desde el panel. Parecía tener Encontré la herramienta perfecta para construir mi aplicación con ella: CherryPy.

Esto me permitiría hacerlo de la manera que quisiera, creando la aplicación con su propio HTTP / Servidor HTTPS y también todo en mi lenguaje de programación favorito.

Pero ahora surge una nueva pregunta: como CherryPy es un servidor roscado, ¿Es el derecho para este tipo de tarea?

Habrá muchas tareas que consumen mucho tiempo, así que si una de las bloques de tareas, el resto de los usuarios que intenten acceder a otras páginas dejarse esperando y, finalmente, agotar el tiempo de espera.

Me imagino que este tipo de problema no sucedería en un servidor basado en fork.

¿Qué aconsejarías?

¿Fue útil?

Solución

" Roscado " y "Horquilla basada" Los servidores son equivalentes. A '' roscado '' el servidor tiene múltiples hilos de ejecución, y si uno se bloquea, los otros continuarán. A " Basado en horquilla " el servidor tiene múltiples procesos ejecutándose, y si uno se bloquea, los otros continuarán. La única diferencia es que los servidores de subprocesos de forma predeterminada compartirán memoria entre los subprocesos, "basado en fork". los predeterminados no compartirán memoria.

Otro punto: el subproceso " El módulo no es seguro para subprocesos, por lo que si intenta usarlo desde CherryPy obtendrá errores extraños. (Esto es Python Bug 1731717 )

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top