【问题标题】:How to run sidekiq in background如何在后台运行sidekiq
【发布时间】:2019-11-21 03:32:22
【问题描述】:

我正在使用这个命令

bundle exec sidekiq -d

在后台运行 sidekiq 服务器。收到此错误消息

错误:Sidekiq 6.0 中删除了守护模式,请使用适当的进程管理器来启动和管理您的服务。 sidekiq 运行但不在后台运行。关闭控制台后sidekiq自动关闭。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5


    【解决方案1】:

    您需要在ubuntu中打开另一个终端选项卡 ctrl + shift + T 并运行命令

     bundle exec sidekiq start
    

    【讨论】:

    • sidekiq 运行但在关闭实例控制台后 sidekiq 自动停止。
    • 更改 gem 版本的 sidekiq 例如 gem 'sidekiq', '5.0.4' 在 gem 文件中,然后像更高版本一样捆绑安装可能有错误。
    • 更改 gem 版本后同样的问题
    【解决方案2】:

    它已从 Sidekiq 的最新版本中删除,以促进用户学习更新、更好的方法。这是关于相同讨论的链接。

    讨论建议使用 systemd、upstart、foreman 等流程主管来管理 Sidekiq。

    所以你需要编写自己的服务文件来启动、停止sidekiq。作为参考,这里是sidekiq示例服务的链接。

    https://github.com/mperham/sidekiq/blob/master/examples/systemd/sidekiq.service

    【讨论】:

    • 在 sidekiq.yml 中写下这一行 require 'sidekiq' require 'sidekiq-status' require 'sidekiq/web' Sidekiq.configure_client do |config| config.client_middleware 做|链| chain.add Sidekiq::Status::ClientMiddleware end config.redis = {:url => "redis://127.0.0.1:6379/5}" } config.failures_max_count = false end
    【解决方案3】:

    您也可以考虑使用像 overmind 这样的流程管理器来帮助您管理多个流程(例如 server 和 sidekiq) https://github.com/DarthSim/overmind

    网络上还有其他工具,这是我个人的选择。

    【讨论】:

      【解决方案4】:

      您没有提到操作系统,所以我将使用ubuntu 生产虚拟机。你会想用systemdupstart 之类的东西来设置sidekiq。 Sidekiq 有一些示例配置可以帮助您入门https://github.com/mperham/sidekiq/tree/master/examples

      我之前没有在 mac 上做过这个,但是快速谷歌并找到了这个Start sidekiq automatically on OSX

      【讨论】:

      • sidekiq 运行但不连续运行。我已经使用了它正在工作的相同设置,但现在它停止了我没有得到任何解决方案
      • 我用的是ubuntu os
      猜你喜欢
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 2022-12-03
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多