我想Sidekiq
用于我的后台工作。但要求是 gem 依赖项是线程安全的。
在他们的维基页面中,他们提到:
Some gems can be troublesome:
* pg (the postgres driver, make sure PG::Connection.isthreadsafe returns true)
我将pg
gem 用于 PostgreSQL。
我的问题是:如何将 PG::Connection.isthreadsafe 更改为 true?
我想Sidekiq
用于我的后台工作。但要求是 gem 依赖项是线程安全的。
在他们的维基页面中,他们提到:
Some gems can be troublesome:
* pg (the postgres driver, make sure PG::Connection.isthreadsafe returns true)
我将pg
gem 用于 PostgreSQL。
我的问题是:如何将 PG::Connection.isthreadsafe 更改为 true?
gem 调用这个 c 库调用:
PQisthreadsafe();
记录在这里:
http://www.postgresql.org/docs/8.2/static/libpq-threading.html
相关文档是这样的:
如果在构建 PostgreSQL 发行版时使用了配置命令行选项 --enable-thread-safety,则 libpq 是可重入且线程安全的。
因此,您将需要重新编译 libpg(或获取线程安全包,如果可用)以使其真正成为线程安全的。