我最近将我的rails项目从Rails4切换到5.0.0.beta3以使用了令人敬畏的ActionCable.
我的ActionCable服务器在unicorn中运行.在开发中一切正常.在生产中我有
Started GET "/cable" for xxx.xxx.xxx.xxx at 2016-03-28 18:06:38 +0300
Started GET "/cable/" [WebSocket] for xxx.xxx.xxx.xxx at 2016-03-28 18:06
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
Registered connection (189772ff-6229-48f1-ae7f-d9a96ad3a6c3)
Finished "/cable/" [WebSocket] for xxx.xxx.xxx.xxx at 2016-03-28 18:06:35
Run Code Online (Sandbox Code Playgroud)
并且这个消息在循环中一次又一次地重复.
我在stackoverflow上尝试了很多选项来处理这个问题,但没有任何帮助.我的nginx配置:
upstream unicorn {
server unix:/tmp/unicorn.my_app.sock fail_timeout=0;
}
server {
server_name www.my_app.com;
return 301 $scheme://my_app.com$request_uri;
}
server {
listen 80 default deferred;
server_name my_app.com;
root /var/www/my_app/current/public;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
} …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,每次部署后都需要杀死特定的 Sidekiq 工作人员。因为它的api建议我可以通过从 queue 中删除所有作业来做到这一点Sidekiq::Queue.new.clear。
但是,运行此命令后,worker 大小的数量Sidekiq::Workers.new.size仍然相同。实际上,我尝试了很多方法,但没有任何效果。请帮忙!
我有两个模型:公司和交易(具有多关系)。交易模型具有balance属性。我有一个加入模型的查询:
scope :joined_transactions, (lambda do
select('transactions.balance as current_balance')
.joins('LEFT OUTER JOIN transactions ON transactions.company_id = companies.id')
end)
Run Code Online (Sandbox Code Playgroud)
但是,我只想将最后一笔交易包含到该查询中。结果Company.joined_transactions.first.current_balance == Company.first.transactions.last.balance应该是真的。