CherryPy用于虚拟主机控制面板应用程序

时间:2008-12-01 11:29:48

标签: python multithreading fork cherrypy

很长一段时间我都想开始一个瞄准的宠物项目 时间成为一个Web托管控制面板,但主要集中在Python托管 - 意思是我想为用户创建/启动Django / 小组中的其他框架项目。我似乎有 找到了用它构建我的应用程序的完美工具:CherryPy。

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

但是现在出现了一个新问题:由于CherryPy是一个线程服务器,所以 这是完成这项任务的权利吗?

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

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

你会建议什么?

1 个答案:

答案 0 :(得分:1)

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

另一点 - “子进程”模块不是线程安全的,所以如果你尝试在CherryPy中使用它,你将会遇到奇怪的错误。 (这是Python Bug 1731717