sergeich5/php-supervisor-status-checker

用于检查supervisor进程状态的简单工具

1.1.1 2021-04-14 12:33 UTC

This package is auto-updated.

Last update: 2024-08-30 01:37:58 UTC


README

用于检查supervisor进程状态的简单工具。您可以在进程出现致命错误时接收事件,例如,向自己发送通知。

安装

composer require sergeich5/php-supervisor-status-checker

用法

  1. 创建自己的类,并从 \Sergeich5\SupervisorStatusChecker\Callback\CallbackHandler 继承或实现 \Sergeich5\SupervisorStatusChecker\Callback\CallbackHandlerInterface
<?php

// MyCallbackHandler.php

class MyCallbackHandler extends \Sergeich5\SupervisorStatusChecker\Callback\CallbackHandler
{
    function onBeforeTick()
    {
        // YOUR LOGIC HERE
    }

    function onAfterTick()
    {
        // YOUR LOGIC HERE
    }
    
    function onFatal(string $processName)
    {
        // YOUR LOGIC HERE
    }

    function onRunning(string $processName)
    {
        // YOUR LOGIC HERE
    }

    function onStarting(string $processName)
    {
        // YOUR LOGIC HERE
    }

    function onBackoff(string $processName)
    {
        // YOUR LOGIC HERE
    }

    function onStopped(string $processName)
    {
        // YOUR LOGIC HERE
    }

    function onUnknown(string $processName, string $status)
    {
        // YOUR LOGIC HERE
    }
}
  1. 实现必要的事件并执行您的逻辑

  2. 创建一个 \Sergeich5\SupervisorStatusChecker\Checker 的实例,并提供一个 MyCallbackHandler 的实例,检查延迟(秒),事件逻辑和调试/非调试模式

$loop = new \Sergeich5\SupervisorStatusChecker\Checker(
    new MyCallbackHandler(),
    true,
    false
);
  1. 调用方法 checkLoop(int DELAY_IN_SECONDS) 进行自动检查
$loop->checkLoop( int DELAY_IN_SECONDS );

checkOnce() 进行一次性检查

$loop->checkOnce();