gipfl/systemd

与SystemD相关的库

v0.4.0 2023-10-19 09:40 UTC

This package is auto-updated.

Last update: 2024-09-19 11:31:24 UTC


README

systemd相关的库。目前:仅提供一个WatchDog通知器。如果环境需要,WatchDog会自动触发。您负责调用setReady() - 您可能还想设置状态和重新加载或错误状态。

Watchdog通知将根据systemd是否运行您的守护进程自动触发。如果我们无法通过我们的ENVironment检测到systemd,则不会发生任何事情 - ifRequired()工厂方法将返回false

用法

<?php

use gipfl\SystemD\NotifySystemD;
use React\EventLoop\Factory as Loop;

$loop = Loop::create();
if ($notifier = NotifySystemD::ifRequired($loop)) {
    $notifier->setReady('My process is ready');
    $loop->addTimer(10, function () use ($notifier) {
        $notifier->setStatus('Process status changed');
    });
}

$loop->run();

变更

v0.4.0

  • 添加了一个缺失的属性,以修复与PHP 8.2的弃用通知

v0.3.0

  • 通知套接字已移动到专用类

v0.2.0

  • 添加`has/getInvocationId()`
  • 提供SocketPath和WatchdogInterval的获取器
  • 立即触发第一个Watchdog通知
  • 在发送Watchdog通知时记录可能的问题
  • 允许扩展Watchdog超时(v236+)

v0.1.0

  • 第一个版本

命名

是的,我们知道它读作systemd而不是SystemD - 对不起伤害了您的感情。不幸的是,在意识到我们犯了错误之前,我们已经在依赖于这个库的软件中发布了。当我们把这个移动到ipl或另一个命名空间时,我们会修复它。目前还不可能,因为从systemdSystemD的过渡将导致在composerPHP的世界中出现问题,后者部分是不区分大小写的。