Django(postgresql) +莱特普德。线程和 python 的 postgresql 驱动程序有任何问题吗?
我想使用 FastCGI 在lighttpd 上部署我的 Django 应用程序(使用 postgresql 作为数据库)。
对于 postgresql,我看到 Django 有 2 个可用的后端“postgresql_psycopg2”和“postgresql”。
我的问题是lighttpd是一个线程服务器,这个后端有什么问题吗?它们线程安全吗?其中哪一个更好/推荐?
我的问题出现是因为我读到了一些东西(现在不记得在哪里)postgresql 的 python 驱动程序不是线程安全的。
LE:经过更多阅读后,我发现线程问题仅在运行 manage.py method=threaded
时出现,而不是在运行 manage.py 时出现method=prefork
因为这是 FastCGI 进程绑定而不是 Web 服务器绑定(即:与 Web 服务器如何、线程或基于进程无关,而只关心 fastcgi 服务器如何运行)
无论如何,在这种情况下,似乎它是线程的还是 prefosk 并不重要,因为 Milen A. Radev 回答 postgresql_psycopg2 是线程安全的。
I'd like to deploy my Django app (which uses postgresql as database) on lighttpd using FastCGI.
For postgresql i see that Django has 2 backends available 'postgresql_psycopg2' and 'postgresql'.
My question is that lighttpd being a threaded server are there any issues with any of this backends? Are they thread safe? And which one of them is better/recommended?
My questions comes because i read something (don't remember now where) that postgresql's driver for python isn't thread safe.
LE: After some more reading i just figured it out that the threading issue is present only when running manage.py method=threaded
and not when running manage.py method=prefork
as this is FastCGI process bound and not webserver bound(i.e: doesn't matter how the webserver is, threaded or process based but only how the fastcgi server is running)
Anyway in this case it seems it doesn't matter if it's threaded or prefosk as how Milen A. Radev answered postgresql_psycopg2 is thread safe.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
http://initd.org/psycopg/docs/usage.html#thread-安全
http://initd.org/psycopg/docs/usage.html#thread-safety