我在 Zope 中用于生成和提供动态图形和图表的库有一个不错的小线程问题。有关我的原始问题的描述,请参阅此问题。
由于该网站已经投入生产,我没有时间调试该库(我不是 C 和线程方面的专家),因此我正在寻找快速修复。我能想到的最好的主意是使用 mod_wsgi 作为某种警卫:
WSGIScriptAlias /graphs /path/to/my/app.wsgi
WSGIDaemonProcess mysite user=www-data group=www-data processes=1 threads=1
wsgi 应用程序/path/to/my/app.wsgi
将简单地将每个请求重定向到/_graphs
Zope 再次处理的每个请求。因为我将 wsgi 应用程序限制为一个具有一个线程的进程,所以它应该可以防止任何线程问题。该网站的容量不高,我真的不在乎这是否会降低我的性能。此外,我不关心/_graphs
URL 是否不受直接访问保护,只有在同时下载图表时才会出现原始问题,这仅在用户查看包含多个嵌入式动态图表的页面时才会发生。
尽管如此,这个“解决方案”(如果它真的有效的话)让我脑子里的小计算机科学家哭得像个婴儿。有更好的想法吗?