kinulab/process-monitoring-bundle

一个简单的进程监控服务,用于检查进程状态

dev-master 2018-03-27 06:50 UTC

This package is auto-updated.

Last update: 2024-09-26 11:45:15 UTC


README

Build Status Coverage Status

本包旨在解决以下问题

How to be sure that a given service is running from 7am to 7pm ?
If the service fall it must be restarted. And how do be sure that
a service is NOT running from 7pm to 7am ? If the service is
running it must be stopped.

我们可以使用cron来完成这项工作,但这需要几行代码来

  • 启动服务,
  • 在每天结束时停止它,
  • 从早上7点到晚上7点每分钟检查一次服务是否正在运行,
  • 然后从晚上7点到早上7点每分钟检查一次服务是否未运行。

如果只有一个这样的服务,那没问题。但是,当有更多的时候,维护就会变得困难。

安装

composer require kinulab/process-monitoring-bundle:^1.0

在您的 app/AppKernel.php 中添加

    public function registerBundles()
    {
        $bundles = [
            // ...
            new Kinulab\ProcessMonitoringBundle\KinulabProcessMonitoringBundle(),
        ];
    }

如何使用它?

注册一个实现 Kinulab\ProcessMonitoringBundle\Service\ServiceDescriptorInterface 接口的 symfony 服务。

将此服务标记为 monitored.service

然后确保 bin/console monitor:services 命令正在持续运行。为此,您可以使用cron、monit、supervisord 或您喜欢的任何工具。

用法

事件

在监控过程中,会触发一些事件