Python 用于webhosting控制面板应用程序的CherryPy

Python 用于webhosting控制面板应用程序的CherryPy,python,multithreading,fork,cherrypy,Python,Multithreading,Fork,Cherrypy,很长一段时间以来,我一直想启动一个宠物项目,目标是 是时候成为一个web托管控制面板了,但主要关注Python托管-- 这意味着我想为用户提供一种生成/启动Django的方式/ 其他框架直接从面板上进行项目。我好像有 找到了用它构建我的应用程序的完美工具:CherryPy 这将允许我按照我想要的方式来做,用自己的HTTP构建应用程序/ HTTPS服务器和我最喜欢的编程语言 但现在出现了一个新问题:由于CherryPy是一个线程服务器,will 这是完成这类任务的正确方法吗 将有很多耗时的任务,所

很长一段时间以来,我一直想启动一个宠物项目,目标是 是时候成为一个web托管控制面板了,但主要关注Python托管-- 这意味着我想为用户提供一种生成/启动Django的方式/ 其他框架直接从面板上进行项目。我好像有 找到了用它构建我的应用程序的完美工具:CherryPy

这将允许我按照我想要的方式来做,用自己的HTTP构建应用程序/ HTTPS服务器和我最喜欢的编程语言

但现在出现了一个新问题:由于CherryPy是一个线程服务器,will 这是完成这类任务的正确方法吗

将有很多耗时的任务,所以如果 任务块,尝试访问其他页面的其余用户将 等待,最终超时

我认为这种问题不会发生在基于fork的服务器上

你有什么建议

“线程”和“基于Fork”的服务器是等效的。“线程化”服务器有多个执行线程,如果一个线程阻塞,那么其他线程将继续执行。“基于Fork的”服务器有多个正在执行的进程,如果其中一个进程阻塞,那么其他进程将继续。唯一的区别是,默认情况下,线程服务器将在线程之间共享内存,而默认情况下,“基于fork”的服务器将不共享内存

还有一点——“subprocess”模块不是线程安全的,因此如果您尝试从CherryPy使用它,您将得到wierd错误。(这是)

“线程”和“基于Fork的”服务器是等效的。“线程化”服务器有多个执行线程,如果一个线程阻塞,那么其他线程将继续执行。“基于Fork的”服务器有多个正在执行的进程,如果其中一个进程阻塞,那么其他进程将继续。唯一的区别是,默认情况下,线程服务器将在线程之间共享内存,而默认情况下,“基于fork”的服务器将不共享内存


还有一点——“subprocess”模块不是线程安全的,因此如果您尝试从CherryPy使用它,您将得到wierd错误。(这是)

不确定您是否意识到——但是webpartion.com曾经是:python-hosting.com和他们的面板做了很多您描述的事情。当然,CherryPy的创建者创建了Web派系:-)不确定您是否意识到-但是Web派系.com曾经是:python-hosting.com和他们的面板做了很多您描述的事情。当然,CherryPy的创始人创办了WebPaction:-)你为什么不考虑GIL?你为什么不考虑GIL?