Django(postgresql) +莱特普德。线程和 python 的 postgresql 驱动程序有任何问题吗?

发布于 2024-08-22 00:40:48 字数 570 浏览 6 评论 0原文

我想使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文