我試圖在旅客/ Rails生產環境中設置Redis + Sidekiq並且遇到了一些混淆。在生產中配置Redis + Sidekiq
服務器上運行着許多小應用程序。我確定這些應用程序中有不止一個會利用Sidekiq提供的延遲處理。
我的第一個想法是使用namespace option in Sidekiq爲每個Rails應用程序創建一個namespace
。
但後來我注意到一個databases 16
設置在redis.conf
,我想知道那是什麼,確切地說。我似乎無法找到比在config評論其他它文件:
# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
所以,不知道的16「數據庫」的缺省/例如意味着我可以使用DB0爲一個應用程序,併爲DB1另一個應用程序?!?我不認爲這個假設是正確的,但我不能找到更多的信息以外的其他:
Redis的羣集不支持多個數據庫,如獨立 版本的Redis,還有就是數據庫0,和SELECT不允許。
希望有人能就如何在同一服務器上運行的各種Rails應用程序之間共享Sidekiq & Redis的告訴我。
請原諒我的無知,但爲什麼乘客/獨角獸會被捲入? (FWIW - 我的生產環境使用Passenger) – Meltemi
如果您查看我鏈接的文檔,您需要將一個塊添加到Unicorn中的after_fork回調中。我不知道是否有相當於Passenger的存在。 –