lotharthesavior/hot-reactor

0.0.4 2024-05-04 15:20 UTC

This package is auto-updated.

Last update: 2024-09-04 16:04:38 UTC


README

Hot Reactor 是应用的热重载机制。它是基于 OpenSwoole 开发构建的,但根据文件更改来重载特定命令。

您可以通过 composer install 安装它,或者下载项目并配置正确的 .env 文件。

设置

运行 Hot Reactor 有两种方式

选项 1: 运行其他文件夹

运行位于其他目录中的服务

检查 .env 文件以更新所需的设置。以下为操作步骤

  • 步骤 1: 更新 WORKING_DIR 环境设置,指向服务所在的目录。默认: /var/www/html/
  • 步骤 2: 更新 COMMAND 环境设置,指向您要运行的命令。默认: /usr/bin/php server.php
  • 步骤 3: 更新 OBJECTS 环境设置,指向您想要监视更改的文件。默认: /var/www/html/|/var/www/html/features/
  • 步骤 4: 更新 MAIN_PROCESS_NAME 环境设置,自定义您的主进程名称。默认: hot-reactor
  • 步骤 5: 更新 FILE_EXTENSIONS 环境设置,指定要监视更改的文件扩展名。默认: php|env

Hot Reactor 提供了一个命令行工具来运行 Hot Reactor。您可以使用以下命令启动 Hot Reactor

php index.php -w "/path/to/your/service" -c "your-command" -o "your-objects"

如示例所示,您也可以通过命令选项覆盖 WORKING_DIRCOMMANDOBJECTS 设置。

选项 2: 通过 composer 安装热重载

要使用 composer 安装 Hot Reactor,您可以运行以下命令

composer require lotharthesavior/hot-reactor

安装包后,您可以运行以下命令启动 Hot Reactor

vendor/bin/hot-reactor -w "/path/to/your/service" -c "your-command" -o "your-objects"

重要:当您想重启使用 OpenSwoole\Process 运行子进程的应用程序时,存在一个相关错误。在这种情况下,您可能需要在文件末尾等待 SIGKILL,以便应用程序优雅地重启。您可以通过添加以下代码来实现这一点

Co::run(function () {
    System::waitSignal(SIGKILL, -1);
});

贡献者

我们欢迎所有人的贡献!如果您有兴趣帮助改进 Hot Reactor,请按照以下步骤操作

  1. 在 GitHub 上派生存储库。
  2. 在以您正在工作的功能或修复命名的分支中进行更改。
  3. 通过 GitHub 提交拉取请求以进行审查。

请确保您的贡献符合以下指南

  • 代码贡献应遵循项目中已建立的编码风格。
  • 在代码中包含注释,解释复杂或不太明显部分。
  • 如果您的更改需要,请更新 README.md。
  • 确保您的代码不会引入任何新的错误或安全漏洞。

感谢您考虑为 Hot Reactor 做出贡献!

许可协议

Hot Reactor 是开源软件,MIT 许可协议下授权。有关详细信息,请参阅 LICENSE 文件。