V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
2ME
V2EX  ›  PHP

尝试 laravel 队列遇到了问题求解答

  •  
  •   2ME · 2017-08-09 11:31:39 +08:00 · 3177 次点击
    这是一个创建于 2650 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想试试 laravel 内置的队列 按照文档的流程测试了一下 遇到了问题 不会添加队列 而是直接执行

    流程是这样 求解答哪里出了问题 = =

    
    Laravel Framework version 5.3.31
    
    //修改队列驱动
    QUEUE_DRIVER=database
    
    //创建队列表的 migration 文件
    php artisan queue:table
    
    //执行 magrite 命令创建 jobs 表
    php aritsan magrite
    
    //创建了个 task 任务类
    php artisan make:job task
    
    
    //Task 类的内容
    
    public $task;
    
    public function __construct($task)
    {
        $this->task = $task;
    }
    
    public function handle()
    {
        Log::info('task:'.$this->task);
    }
    
    //路由内容
    Route::get('/',function (){
        dispatch(new App\Jobs\Task('test queue'));
    });
    
    //访问首页之后表中没有数据 LOG 直接写入了数据
    [2017-08-09 11:05:49] local.INFO: task:test queue  
    
    
    myc0210
        1
    myc0210  
       2017-08-09 11:40:31 +08:00   ❤️ 1
    整个 class 贴一下 有 use queueable 的 trait 吗。没有的话 不会用到队列的会直接执行
    ylsc633
        2
    ylsc633  
       2017-08-09 11:40:55 +08:00   ❤️ 1
    .env 里 QUEUE_DRIVER 可修改了?

    默认等于 sync

    你可以修改为 redis....
    chenset
        3
    chenset  
       2017-08-09 11:41:08 +08:00   ❤️ 1
    1.队列由 database 驱动的话, 队列执行完之后表中的队列数据会被删除的吧? 至少使用 redis 驱动时就是这样.
    2. .env 有没有缓存? .env 修改后有没有 php artisan config:clear
    3. 有没有 php artisan queue:work ?

    你可以显性的输出字符串看看程序是否异步执行了.
    ```
    public function handle()
    {
    dump(__LINE__);
    Log::info('task:'.$this->task);
    }

    ```
    2ME
        4
    2ME  
    OP
       2017-08-09 11:43:58 +08:00
    @myc0210 有 use
    @ylsc633 第一行就是修改了 一开始怀疑不生效 我又去改了 config 里面的
    @chenset 没执行 work 命令 就直接执行了
    刚才我又试了一下(new App\Jobs\Task('test queue'))->onConnection('database');
    指定链接 数据库就可以用了 但是我配置确实是改了 ..
    2ME
        5
    2ME  
    OP
       2017-08-09 11:45:55 +08:00
    找到原因了.. 重启 php artisan serve 就好了 谢谢大家解答
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:58 · PVG 14:58 · LAX 22:58 · JFK 01:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.