1、在自己swiftadmin框架開發(fā)插件的過程中,發(fā)現(xiàn)調(diào)試模式下大量的文件讀寫在Monitor監(jiān)聽的文件路徑中,
一直重啟會導致一些異常的發(fā)生,比如我開始判斷插件是否安裝,由于安裝時間過長或文件或多,導致重啟的進程重復執(zhí)行了接口的代碼。
2、現(xiàn)在默認的入口文件,分為Linux和Windows,組合為一個文件不是更好?【現(xiàn)在的入口代碼多少顯得有點凌亂】
3、在process/Monitor類和Windows.php文件中重復調(diào)用checkAllFilesChange方法;
暫時解決方法文件直接在checkAllFilesChange函數(shù)中判斷是否存在鎖文件
/**
* @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監(jiān)控,如果沒問題的話下個版本發(fā)布。
linux不支持pcntl相關接口,無法直接使用同一個入口文件,所以統(tǒng)一linux windows入口文件的問題還需要從長計議。