美文网首页
lumen队列执行无反应

lumen队列执行无反应

作者: 清风知明月 | 来源:发表于2018-11-08 09:55 被阅读0次

版本:lumen5.6

出现问题:执行 artisan queue:work OR artisan queue:listen 队列执行无法应

运行队列时,cli既不报错也无任何反应,追踪队列启动文件“Illuminate\Queue\Worker”。


//在文件中追踪到此处,发现队列执行会根据预定义queue执行

protected function getNextJob($connection, $queue)

{

    try {

        foreach (explode(',', $queue) as $queue) {

            if (! is_null($job = $connection->pop($queue))) {

                return $job;

}

}

    } catch (Exception $e) {

        $this->exceptions->report($e);

        $this->stopWorkerIfLostConnection($e);

    } catch (Throwable $e) {

        $this->exceptions->report($e = new FatalThrowableError($e));

        $this->stopWorkerIfLostConnection($e);

}

}

在推送队列任务时,执行指定队列名称。laravel默认队列名称为“default”。


$user = User::find(1);

dispatch((new OrderExpireQueueJob($user)->onQueue('user'));

所以将laravel/lumen-framework/config中的queue.php文件复制一份至,/config目录下。


//在对应的消息驱动中,修改queue属性,例如使用database队列,增加'queue'=>'default,user'

'connections' => [

    'sync' => [

        'driver' => 'sync',

],

    'database' => [

        'driver' => 'database',

        'table' => 'jobs',

        'queue' => 'default,user',

        'retry_after' => 60,

],

    'beanstalkd' => [

        'driver' => 'beanstalkd',

        'host' => 'localhost',

        'queue' => 'default',

        'retry_after' => 60,

],

    'sqs' => [

        'driver' => 'sqs',

        'key' => 'your-public-key',

        'secret' => 'your-secret-key',

        'queue' => 'your-queue-url',

        'region' => 'us-east-1',

],

    'redis' => [

        'driver' => 'redis',

        'connection' => env('QUEUE_REDIS_CONNECTION', 'default'),

        'queue' => 'default',

        'retry_after' => 60,

],

],

再次执行队列即可运行成功。根本原因是自定义了对名称导致的执行不到!

相关文章

  • lumen队列执行无反应

    版本:lumen5.6 出现问题:执行 artisan queue:work OR artisan queue:...

  • Lumen -- 队列

    一,构建 1. lumen利用Laravel的队列组件为各种不同的队列服务提供统一的API。队列允许将耗时任务(例...

  • lumen队列使用

    1、调用 2、处理

  • 简单使用lumen队列

    需求:在项目中,需要采集文章并把文章中的图片本地化/更新到oss中。如果按照以往的方式,直来直往地采集并替换到图片...

  • Rabbitmq队列无响应,提示超时

    现象 打开web管理界面,可以看到队列名称,点开无详细信息,点击清空消息或者删除都无反应。通过API访问队列提示超...

  • iOS GCD随记(一)任务/队列组合

    1.同步执行+串行队列2.同步执行+并行队列3.异步执行+串行队列4.异步执行+并行队列5.同步执行+主队列6.异...

  • 队列dispatch_queue的使用

    队列分为:串行队列、并发队列和主队列,主队列也叫特殊串行队列,是GCD自带的。 任务的执行分为:同步执行和异步执行...

  • iOS开发-队列和同步异步执行的结果分析

    多线程中的队列有:串行队列,并发队列,全局队列(并发),主队列(串行)。 执行的方法有:同步执行和异步执行。 提到...

  • iOS GCD笔记

    串行队列 并发队列 主队列 全局并发队列 同步执行 异步执行 同步+并发队列 = 没有开启新线程,串行执行任务 s...

  • iOS多线程--GCD

    队列:串行队列,并发队列,全局队列,主队列。 2.执行的方法有:同步执行和异步执行。 多线程,四种,pthread...

网友评论

      本文标题:lumen队列执行无反应

      本文链接:https://www.haomeiwen.com/subject/bopixqtx.html