Jai*_*put 5 ruby ruby-on-rails redis ruby-on-rails-3 sidekiq
我使用的是redis server和sidekiq我的cron作业,但一段时间后sidekiq在后台自动杀死。
我想sidekiq从控制器的操作中重新启动,或者在它停止运行时自动重新启动而不停止我的Rails应用程序服务器。
请建议我如何处理此问题?
您可以通过以下方式检查 sidekiq 和 redis 服务器是否运行:
def redis_connected?
!!Sidekiq.redis(&:info) rescue false
end
def sidekiq_connected?
ps = Sidekiq::ProcessSet.new
ps.size > 0 ? true : false
end
Run Code Online (Sandbox Code Playgroud)
你也可以从你的控制器开始,但这不是一个好方法,因为它会启动 sidekiq 但会杀死 Rails 服务器。
def start_sidekiq
system "redis-server &" if !redis_connected?
system "bundle exec sidekiq -d" if !sidekiq_connected?
flash[:sidekiq_notification]="Starting server... Please refresh after few seconds"
redirect_to :back
end
Run Code Online (Sandbox Code Playgroud)
或安装并使用服务器监控工具
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |