如何检查 rufus-scheduler 是否已经为我的 Rails 应用程序运行

长生不老药

我有一个 Rails 应用程序,它使用 rufus-scheduler 来安排它的一些任务。调度程序在启动 Rails 应用程序的独角兽脚本的 after_fork 中初始化(参考:https ://gist.github.com/jkraemer/3851917 )。

最近,我遇到了一个场景,独角兽调度程序线程被杀死,而托管它的独角兽进程仍然处于活动状态。这会导致调度程序在没有通知的情况下停机很长时间。

我想设置一个警报和监控系统来处理这种应该能够: 1. 每当调度程序线程被终止/中止时抛出警报。2. 如果 Rails 进程正在运行,则重新启动调度程序。

通过 cron 任务和处理自动重启来了解调度程序的运行状态的合适方法是什么?

杰梅特劳

如果你引入一个 cron 任务来观察 rufus-scheduler,你为什么不简单地删除 rufus-scheduler 并使用When来进行所有的调度?因此,您将拥有 100% 的 crond 解决方案。

另一种选择,使用Foreman来管理 a) 您的 Rails 应用程序 b) 一个单独的进程来托管您的 rufus-scheduler 计划(它可能是您的 Rails 应用程序的“仅限计划”版本)(这是一篇博客文章中的一个很好的例子)。还有

如果您查看发条,这是一款受 rufus-scheduler 启发的宝石,它们详细介绍了这样一个应用程序/多个进程场景。

然后您可以查看各种工具来查看您的日志并在出现错误时提醒您。

更新:

也许这个要点可以帮助:https : //gist.github.com/jmettraux/5f716c8568f6ab7bb016a4bc11528bc2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查应用程序是否在Android上运行?

检查我的应用程序的通知是否正在运行

rufus-scheduler在以分离模式在Rails + Unicorn上运行时未调度

如何检查特定应用程序是否在Android中运行

Android for work-如何检查我的应用程序是否在工作资料中运行?

如何在运行时检查我的Rails应用程序是否在开发环境或生产环境中运行

如何使我的应用程序运行更快

如何从Rails应用程序运行Python脚本?

如何检查Flutter应用程序是否在调试中运行?

Rufus-Scheduler只运行一次

如何检查应用程序是否在后台运行?

检查应用程序是否已经在运行

在服务器上运行我的Rails应用程序

我可以使用rufus-scheduler在rails中调度控制器方法吗?

如何了解我是否已经为应用内购买付款

我的Rails应用程序无法在Heroku中运行

安装后如何检查应用程序是否首次运行?

我如何检查运行我的应用程序的Android设备是否在4.2.2及更低版本上运行

如何使Rufus-Scheduler反映文件更改

如何运行我的Android应用程序?

Rails服务器作为守护程序运行时,Rufus Scheduler没有运行

如果我在机器上运行其他版本的Ruby,如何测试从GitHub克隆的某人的Rails应用程序?

如何从我上次离开的地方继续运行Rails应用程序?

如何检测您是否在Rails主应用程序之外运行

是否可以在同一域上运行Rails应用程序和React应用程序?

以管理员身份从 Windows Scheduler 为所有用户运行 WindForms 应用程序

我如何检查用户是否在 c# 中以管理员身份运行应用程序?

Rails Rufus 调度程序持久性

如何在运行时检查 rails 应用程序是否在 sidekiq 工作器的上下文中运行?