【发布时间】:2011-12-25 02:29:41
【问题描述】:
我正在使用 ruby 1.9.2p280 部署 Rubyonrails 网络应用程序,使用 apache 乘客和延迟作业作为后台作业的 rubyonrails 3.07。
我想监控我的乘客以及delayed_job 后台工作。
我找不到任何分步指南。
非常感谢
【问题讨论】:
-
根据我使用 DelayedJob 的经验,我建议除非必须,否则不要使用它。如果您要部署到 Heroku,请使用它,因为这是可用的。但是,如果您能够设置自己的 cron 作业,那么只需将记录写入包含需要完成的操作的详细信息的表中,然后创建执行待处理操作的模块或类方法。设置一个 cron 作业来读取表并执行待处理的操作:
rails runner "SomeModule.some_method"。我不确定这对您想要的监控意味着什么,但您最好不要使用 DelayedJob。 -
我想监控我的webserver进程和delayed_job进程。如果它们达到某个内存点或 cpu 时间百分比,那么它们应该自动重新启动。 delay_job 和乘客的内存消耗随着时间的推移而增长,最终可能会有很高的交换使用率,导致它们变得无响应。
-
@Steve 为什么自己写的类比
delayed_job处理得更好?为什么要花时间来开发而不是使用现有的和广泛使用的东西?! -
@YoLudke 因为它实际上对你有用的东西很少,而且它为你做了一些事情,它的方式可能会给你带来麻烦并花费你更多的调试时间时间比自己编写它所花费的时间——在我看来,当然。
标签: ruby-on-rails-3 monitoring delayed-job monit