主pipeVS cronjob

其实我正在使用主pipe来监视一个进程,并在出于某种原因停止时重新启动它。 问题是,如果主pipe崩溃,进程将停止监视。

所以我想安排一个cronjob来检查主pipe正在运行,并最终重新启动它。

我正在考虑的下一件事是摆脱主pipe,并直接从cronjob检查我的过程。 我读过,有时候主pipe使用太多的内存(要validation,虽然)。

主pipeVS cronjob监控stream程有哪些优点?

Cron定期调用一个shell脚本来确保服务正在运行,这对于简单networking上的服务监控来说实际上是一个相当不错的入门级方法。 Cron可以每分钟检查一次,以便在停机时间<60秒的情况下可以满足您的环境要求。 这很容易设置和使用。

另一方面,主pipe可以处理来自内核的有关服务过程的实时信号。 这比简单的cron脚本响应要短得多。 使用Cron来监控你的supervisord服务也不是非常困难,并且会提供一个很好的第二道防线。

如果您需要确保服务已启动并以非常短的增量进行响应,而不会由于单点故障导致任何服务中断,那么使用多服务器服务故障转移检测和更强大的监控解决scheme可能会更好。 所有这些都需要更复杂的networking布局和更多的计划和维护投资。

在我的所有系统上,我有一个cron文件夹(定期同步)。 一个由crontab设置的脚本每隔5分钟运行一次,这个脚本具有我在哪个服务器上运行的规则,以及什么时候运行(比如在我的个人服务器上,每周查询我的FB一次,以获取我的朋友们的音乐,或者查看电影/电视喜欢和我的netflix队列比较,或更专业地检查公司上传文件夹,每5分钟,看看是否有数据分析)。

值得记住的是,根据进程或其他脚本命令的不同,如果cron脚本不能正常退出,或者需要更长时间才能正常运行,那么可以多次运行cron脚本。 所以,当你要使用脚本化的cron路由时,首先要检查它是否已经在运行,并且可能要么终止旧的进程,要么等待它完成。

克朗不能每分钟多发一次。