lagdo/jaxon-supervisor

基于 Jaxon Ajax 库的 Supervisor 控制台

v1.0.4 2022-08-18 20:09 UTC

This package is auto-updated.

Last update: 2024-09-04 20:37:11 UTC


README

已经存在几个允许从单个控制台监控多个 Supervisor 实例的包。然而,所有这些包都是独立的应用程序,这涉及到安装、配置、身份验证等方面的所有限制。

此包允许将 Supervisor 控制台插入到现有的 PHP 应用程序中。多亏了 Jaxon 库,它可以在应用程序的页面中安装和运行,可以通过 HTTP 或 Ajax 请求加载。所有操作都通过 Ajax 请求执行。

特性

  • 显示 Supervisor 服务器上进程的状态和运行时间。
  • 在服务器上启动、重启或停止进程。
  • 在服务器上启动、重启或停止所有进程。
  • 启动或停止刷新计时器。
  • 触发刷新。

文档

安装 jaxon 库,使其从配置文件启动并处理 Ajax 请求。这里是 文档

使用 Composer 安装此包。如果您的框架存在 Jaxon 插件,您也可以安装它。这将自动化前面的步骤。

Jaxon 配置文件app 部分中声明包和 Supervisor 服务器。

    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\Supervisor\Package::class => [
                'servers' => [
                    'first_server' => [
                        'url' => 'http://192.168.1.10',
                        'port' => '9001',
                    ],
                    'second_server' => [
                        'url' => 'http://192.168.1.11',
                        'port' => '9001',
                    ],
                ],
            ],
        ],
    ],

使用布尔选项 wait 来设置在调用服务器时,Supervisor 客户端是否应在返回之前等待操作终止。

    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\Supervisor\Package::class => [
                'wait' => false, // Global option for all servers.
                'servers' => [
                    'first_server' => [
                        'url' => 'http://192.168.1.10',
                        'port' => '9001',
                        'wait' => true, // Specific option for a given server.
                    ],
                    'second_server' => [
                        'url' => 'http://192.168.1.11',
                        'port' => '9001',
                    ],
                ],
            ],
        ],
    ],

如果访问 Supervisor 服务器 API 需要身份验证,可以通过 auth 选项设置凭据。

    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\Supervisor\Package::class => [
                'servers' => [
                    'first_server' => [
                        'url' => 'http://192.168.1.10',
                        'port' => '9001',
                        'auth' => ['first_username', 'first_password'],
                    ],
                    'second_server' => [
                        'url' => 'http://192.168.1.11',
                        'port' => '9001',
                        'auth' => ['second_username', 'second_password'],
                    ],
                ],
            ],
        ],
    ],

使用对 jaxon()->getCss()jaxon()->getScript(true) 的调用,在您的应用程序的 HTML 页面中插入 CSS 和 JavaScript 代码。

在显示控制台页面上,使用对 jaxon()->package(\Lagdo\Supervisor\Package::class)->getHtml() 的调用插入其 HTML 代码。然后有两种可能的情况。

  • 如果控制台在专用页面上显示,在页面加载时调用 jaxon()->package(\Lagdo\Supervisor\Package::class)->ready()

  • 如果控制台通过 Ajax 请求在已显示的页面上加载,在页面加载时执行调用 jaxon()->package(\Lagdo\Supervisor\Package::class)->getReadyScript() 返回的 JavaScript 代码。

注意事项

此包的 HTML 代码使用 Bootstrap CSS 框架,该框架也必须包含在页面中。它完全包含在一个 <div class="col-md-12"> 标签中。

将在未来的版本中添加对其他框架的支持。

贡献

  • 问题跟踪器:github.com/lagdo/jaxon-supervisor/issues
  • 源代码:github.com/lagdo/jaxon-supervisor

许可证

本项目采用 BSD 许可证。