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