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越来越好~
更新下 https://github.com/walkor/webman/blob/master/process/Monitor.php 文件,增加了Monitor::pause() 和 Monitor::resume() 方法,用来暂停和恢复Monitor监控,如果没问题的话下个版本发布。
linux不支持pcntl相关接口,无法直接使用同一个入口文件,所以统一linux windows入口文件的问题还需要从长计议。
好的好的,这几天阳了刚缓过来,我测试下没问题给你反馈