【问题标题】:Laravel queues, how come the queue is processed right away?Laravel 队列,队列怎么会马上被处理?
【发布时间】:2016-11-15 01:08:25
【问题描述】:

您好,我已经使用 Laravel 5.1 设置了队列。

我执行 HTTP 请求(Post),这被路由到相应的控制器。

控制器执行以下操作:

//try saving model
try{
    $lg = new User();
    $lg->fill($request);
    $lg->save();
}catch(QueryException $e){
    Log::error( $e->getCode());  

}

//creates Job instance
$job = new ProcessUser($lg);

//dispatching job
$queue_id = $this->dispatch($job);

如果我也

dump($queue_id);

我得到了 0,而不是队列中的 Id 键。

一切正常......正如在本地开发环境中所预期的那样,使用 Homestead。

但是在我拥有 CentOS 的生产环境中... 我希望这份工作只是排队。相反,它似乎是立即处理的。 (我永远看不到作业插入到我的队列中)

在我的服务器 (CentOS 6) 上,我安装了主管。 它停止了:

 $ service supervisord status
 supervisord is stopped

而且...我几乎不怀疑它可以工作,因为我没有在

中配置它

/etc/supervisor.conf

我错过了什么? 如何查看队列的处理方式?

我从来没有发出过像

这样的工匠命令
$php artisan queue:*

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    对不起,

    我意识到我没有通过设置正确配置 .env 文件

        QUEUE_DRIVER=database
    

    它被设置为

        QUEUE_DRIVER=sync
    

    不知道“同步”配置会立即处理队列...

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 2015-05-05
      • 2017-02-13
      • 2018-05-29
      • 2018-01-14
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多