在 windows 下 webman-task 重啟項目后,不會清理之前未刪除的 key,需要手動刪除 redis 里 framework/crontab- 這個key,否則會提示skipped execution,查看源碼發(fā)現(xiàn)在windows下模糊查找redis key 失效!
/**
* 刪除執(zhí)行失敗的任務(wù)key
* @return void
*/
private function delTaskMutex()
{
$keys = Redis::keys('framework' . DIRECTORY_SEPARATOR . 'crontab-*');
Redis::del($keys);
}
上述代碼有兩個問題:
1、在 windows 下 模糊查找失敗,經(jīng)驗證是 DIRECTORY_SEPARATOR 反斜杠問題;
2、設(shè)置redis 前綴后,模糊查找出來的 keys 無法刪除;
Windows系統(tǒng),最新的webman,yzh52521/webman-task laravel orm版