webman-task 修改任务后,重启不生效

为所欲为

问题描述

在 windows 下 webman-task 重启项目后,不会清理之前未删除的 key,需要手动删除 redis 里 framework/crontab- 这个key,否则会提示skipped execution,查看源码发现在windows下模糊查找redis key 失效!

程序代码或配置

/**
     * 删除执行失败的任务key
     * @return void
     */
    private function delTaskMutex()
    {
        $keys = Redis::keys('framework' . DIRECTORY_SEPARATOR . 'crontab-*');
        Redis::del($keys);
    }

上述代码有两个问题:
1、在 windows 下 模糊查找失败,经验证是 DIRECTORY_SEPARATOR 反斜杠问题;
2、设置redis 前缀后,模糊查找出来的 keys 无法删除;

操作系统环境及workerman/webman等具体版本

Windows系统,最新的webman,yzh52521/webman-task laravel orm版

293 0 0
0个回答

🔝