gpt4 book ai didi

ruby-on-rails - 如果 Sidekiq 未处于运行状态,则自动启动它 - Rails

转载 作者:IT王子 更新时间:2023-10-29 05:57:58 27 4
gpt4 key购买 nike

我正在为我的cron 作业 使用redis 服务器sidekiq 但有时sidekiq 在后端。

我想从我的 Controller 的操作中重新启动 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

你也可以从你的 Controller 开始,但这不是一个好方法,因为它会启动 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

或者安装并使用服务器监控工具

关于ruby-on-rails - 如果 Sidekiq 未处于运行状态,则自动启动它 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41359969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com