防止rake任务和rails控制台中的初始化程序

时间:2015-08-12 13:57:59

标签: ruby-on-rails ruby-on-rails-4

我正在使用Rails和Websockets监听。

我创建了一个初始化程序,它开始监听那些websockets,因此,当我使用Capistrano进行生产时,服务器不会长时间停止监听这些套接字。

但是,当我使用类似rails crake db:migrate或其他内容的东西时,会调用初始化程序(我知道这是正常的),并且我想阻止对{{1}进行初始化程序处理}或rails c任务。 PS:我在制作中使用rake

当unicorn启动没有调用时,你知道如何防止初始化程序处理吗?

2 个答案:

答案 0 :(得分:3)

如何通过arg:

NOSOCK=true bundle exec rails c 

并在初始化程序中:

unless ENV['NOSOCK']
  #socket code
end

答案 1 :(得分:0)

我认为最好的解决方案是不要从初始化程序启动对websockets进程的监听。手动或其他方式启动它。如果您使用的是Capistrano,则可以在部署时启动此过程。

相关问题