webman下一个版本是否考虑合并启动文件,并且读写热加载可控?

meystack

问题描述

1、在自己swiftadmin框架开发插件的过程中,发现调试模式下大量的文件读写在Monitor监听的文件路径中,
一直重启会导致一些异常的发生,比如我开始判断插件是否安装,由于安装时间过长或文件或多,导致重启的进程重复执行了接口的代码。
2、现在默认的入口文件,分为Linux和Windows,组合为一个文件不是更好?【现在的入口代码多少显得有点凌乱】

3、在process/Monitor类和Windows.php文件中重复调用checkAllFilesChange方法;

为此你搜索到了哪些方案及不适用的原因

暂时解决方法文件直接在checkAllFilesChange函数中判断是否存在锁文件

    /**
     * @return bool
     */
    public function checkAllFilesChange()
    {
        $plugin_lock = __DIR__ . '/../plugin/plugin.lock';
        if (is_file($plugin_lock)) {
            return false;
        }

        foreach ($this->_paths as $path) {
            if ($this->checkFilesChange($path)) {
                return true;
            }
        }
        return false;
    }

期待官方会有更好的方式来迭代这块的代码,年后公司有几个外包直接上webman,
祝webman越来越好~

1175 1 1
1个回答

walkor 打赏

更新下 https://github.com/walkor/webman/blob/master/process/Monitor.php 文件,增加了Monitor::pause() 和 Monitor::resume() 方法,用来暂停和恢复Monitor监控,如果没问题的话下个版本发布。

linux不支持pcntl相关接口,无法直接使用同一个入口文件,所以统一linux windows入口文件的问题还需要从长计议。

  • meystack 2022-12-14

    好的好的,这几天阳了刚缓过来,我测试下没问题给你反馈

年代过于久远,无法发表回答
×
🔝