【问题标题】:CherryPy for a webhosting control panel application用于虚拟主机控制面板应用程序的 CherryPy
【发布时间】:2010-09-24 17:45:30
【问题描述】:

很长一段时间以来,我一直想开始一个宠物项目,目标是 是时候成为一个虚拟主机控制面板了,但主要专注于 Python 主机—— 意思是我想为用户提供一种方式来生成/启动 Django/ 面板中的其他框架项目。我好像有 找到了用它构建我的应用程序的完美工具:CherryPy。

这将允许我按照自己的方式进行操作,使用自己的 HTTP/ 构建应用程序 HTTPS 服务器以及所有我最喜欢的编程语言。

但是现在出现了一个新问题:由于 CherryPy 是一个线程服务器, 适合这种任务吗?

会有很多耗时的任务,所以如果其中一个 任务块,其余试图访问其他页面的用户将 等待并最终超时。

我想这种问题不会发生在基于分叉的服务器上。

你有什么建议?

【问题讨论】:

  • 不确定你是否知道——但 Webfaction.com 曾经是:python-hosting.com 和他们的面板做了很多你描述的事情。当然,CherryPy 的创建者开始了 Webfaction :-)

标签: python multithreading fork cherrypy


【解决方案1】:

“Threaded”和“Fork based”服务器是等价的。 “线程”服务器有多个执行线程,如果一个阻塞,那么其他线程将继续。 “基于分叉”的服务器有多个正在执行的进程,如果一个进程阻塞,那么其他进程将继续。唯一的区别是线程服务器默认会在线程之间共享内存,“fork based”默认不会共享内存。

还有一点——“子进程”模块不是线程安全的,所以如果你尝试从 CherryPy 中使用它,你会得到奇怪的错误。 (这里是Python Bug 1731717

【讨论】:

  • 为什么不考虑 GIL?
猜你喜欢
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
相关资源
最近更新 更多