kinulab / process-monitoring-bundle
一个简单的进程监控服务,用于检查进程状态
dev-master
2018-03-27 06:50 UTC
Requires
- mtdowling/cron-expression: ^1.2
- symfony/event-dispatcher: ^3.4||^4.0
- symfony/monolog-bridge: ^3.4||^4.0
- symfony/process: ^3.4||^4.0
Requires (Dev)
- symfony/phpunit-bridge: ^3.4
This package is auto-updated.
Last update: 2024-09-26 11:45:15 UTC
README
本包旨在解决以下问题
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 或您喜欢的任何工具。
用法
事件
在监控过程中,会触发一些事件