我想用python创建一个常驻内存的“CGI脚本”以处理多个请求
我有一个网站,现在是通过一个定时任务,每晚生成静态的HTML页面来运行的。
我想添加一些搜索和过滤的功能,打算用一种CGI类型的脚本来实现,但我的脚本启动时间可能会比较长(也许需要几秒钟?),所以我希望它能一直保持在运行状态,处理多个请求。
这是我为了好玩而做的一个副项目,不会特别复杂。我不介意使用像Pylons这样的框架,但我觉得我不需要或者不想要一个ORM层。
在这种情况下,什么样的方法比较合理呢?
补充说明:我想强调的是,根据我预期的负载和请求处理,我相信一个单独的Python脚本在一个进程中就能处理所有请求而不会变慢,特别是因为我的数据集会保存在内存中。
2 个回答
-1
也许你应该把搜索方向放在进程间通信上,创建一个搜索进程,把结果返回给网页服务器。这个搜索进程会一直运行,前提是你有自己的服务器。
4
这正是 WSGI 的用途;)
不过我不太清楚把一个CGI脚本变成WSGI应用的最简单方法是什么(我一直是通过框架来管理这个的)。不过这应该不会太难。
话说回来,《Python Web服务器网关接口(WSGI)简介》 看起来是个不错的入门资料,你还可以看看 mod_wsgi(假设你在用Apache的话…)