gpt4 book ai didi

ruby-on-rails - 如何用monit监控delayed_job

转载 作者:数据小太阳 更新时间:2023-10-29 06:19:22 27 4
gpt4 key购买 nike

网络上是否有关于如何使用 Monit 监控 delayed_job 的示例? ?

我能找到的所有东西都使用 God ,但我拒绝使用上帝,因为在 Ruby 中长时间运行的进程通常很糟糕。 (上帝邮件列表中的最新帖子?God Memory Usage Grows Steadily。)

更新:delayed_job 现在带有 sample monit config基于这个问题。

最佳答案

下面是我如何让它工作的。

  1. 使用collectiveidea fork of delayed_job除了积极维护之外,这个版本还有一个不错的 script/delayed_job可以与 monit 一起使用的守护进程。 Railscasts 有 a good episode关于这个版本的delayed_job (ASCIICasts version)。该脚本还有一些其他不错的功能,例如运行多个工作程序的能力。我不在这里介绍。
  2. 安装监视器。我是从源代码安装的,因为 Ubuntu 的版本太过时了。我关注了these instructions获取 Ubuntu 软件包附带的标准 init.d 脚本。我还需要配置 ./configure --sysconfdir=/etc/monit所以选择了标准的 Ubuntu 配置目录。
  3. 编写监控脚本。这是我想出的:

    check process delayed_job with pidfile /var/www/app/shared/pids/delayed_job.pid
    start program = "/var/www/app/current/script/delayed_job -e production start"
    stop program = "/var/www/app/current/script/delayed_job -e production stop"

    我将它存储在我的 soucre 控制系统中并用 include /var/www/app/current/config/monit 指向它在/etc/monit/monitrc文件。

  4. 配置监视器。 These instructions充满广告,但其他方面还可以。
  5. 为 capistrano 编写一个停止和启动的任务。 monit start delayed_jobmonit stop delayed_job是你想要运行的。我还在部署时重新加载监视器以获取任何配置文件更改。

我遇到的问题:

  1. daemons必须为 script/delayed_job 安装 gem运行。
  2. 您必须将 Rails 环境传递给 script/delayed_job-e production (例如)。这记录在自述文件中,但未记录在脚本的帮助输出中。
  3. 我使用 Ruby Enterprise Edition,所以我需要获取 monit 才能开始使用该 Ruby 副本。因途sudo handles the PATH在 Ubuntu 中,我结束了符号链接(symbolic link) /usr/bin/ruby/usr/bin/gem到 REE 版本。

在调试 monit 时,我发现停止 init.d 版本并从 th 命令行运行它会有所帮助,因此您可以获得错误消息。否则很难弄清楚为什么会出错。

sudo /etc/init.d/monit stop
sudo monit start delayed_job

希望这有助于下一个想要监控的人 delayed_job与监视器。

关于ruby-on-rails - 如何用monit监控delayed_job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1226302/

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