Giter Site home page Giter Site logo

freyo / laravel-queue-cmq Goto Github PK

View Code? Open in Web Editor NEW
26.0 2.0 9.0 123 KB

📦 Tencent Cloud Message Queue driver for Laravel Queue

Home Page: https://intl.cloud.tencent.com/product/cmq

License: MIT License

PHP 100.00%
cmq laravel-queues laravel php cmq-queue cmq-topic queue-drivers

laravel-queue-cmq's Issues

Nonce 重复导致请求失败

之前跟腾讯云确认过,他们 PHP SDK 有个 bug,当 Nonce 值相同时,CMQ Server 会认为是重复请求。所以调整 Nonce 的生成规则,防止在大并发请求下,Nonce 值重复

image

消费队列时异常

当从队列获取数据时,发生如下报错信息:
Unresolvable dependency resolving [Parameter #0 [ $host ]] in class Freyo\LaravelQueueCMQ\Queue\Driver\Account

背景:
发生这种错误是通过这种方式创建的 job:

dispatch((new AttendanceJob($user->uid, $date))->onConnection('cmq')->onQueue('attendance'));

如果是自己通过 CMQ 的 Http API 创建的 job, 不会遇到这种情况

laravel 版本依赖说明

请问这个项目各个版本的 Release ,分别支持哪个版本的 laravel?

例如 laravel 5.5 最高使用 freyo/laravel-queue-cmq 5.7 还是 5.8 ?

不能支持laravel 5.2的版本

不能支持laravel/lumen 5.2的版本,为了使用这个扩展不得不把框架从5.2升级到5.4+,成本有点高。能否加上5.2的支持?谢谢!

Class 'Freyo\LaravelQueueCMQ\Queue\Driver\Message' not found

版本是 5.7.4.1 请问这是什么原因?
Class 'Freyo\LaravelQueueCMQ\Queue\Driver\Message' not found in /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/freyo/laravel-queue-cmq/src/Queue/Driver/Queue.php:259 Stack trace: #0 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/freyo/laravel-queue-cmq/src/Queue/CMQQueue.php(159): Freyo\LaravelQueueCMQ\Queue\Driver\Queue->receive_message('1') #1 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(241): Freyo\LaravelQueueCMQ\Queue\CMQQueue->pop(Object(Freyo\LaravelQueueCMQ\Queue\Driver\Queue)) #2 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(104): Illuminate\Queue\Worker->getNextJob(Object(Freyo\LaravelQueueCMQ\Queue\CMQQueue), 'test-mse') #3 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(101): Illuminate\Queue\Worker->daemon('cmq', 'test-mse', Object(Illuminate\Queue\WorkerOptions)) #4 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(85): Illuminate\Queue\Console\WorkCommand->runWorker('cmq', 'test-mse') #5 [internal function]: Illuminate\Queue\Console\WorkCommand->fire() #6 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array) #7 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container{closure}() #8 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #9 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/Container.php(539): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #10 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Illuminate\Container\Container->call(Array) #11 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #12 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(167): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #13 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/symfony/console/Application.php(969): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #14 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #15 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #16 /data/wwwroot/test.linde.smartlink.aidong.ai/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #17 /data/wwwroot/test.linde.smartlink.aidong.ai/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #18 {main} [] []

logFailedJob

今天发现部分 JOB 处理失败后,laravel-CMQ 尝试记录此 JOB 到数据库,信息如下:
PDOException: SQLSTATE[HY000] [2002] No such file or directory in /data/wwwroot/sdgroup.aidong.ai/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46 Stack trace: #0 /data/wwwroot/sdgroup.aidong.ai/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(46): PDO->__construct('mysql:host=loca...', 'forge', '', Array) #1 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(65): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=loca...', 'forge', '', Array) #2 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(44): Illuminate\Database\Connectors\Connector->createPdoConnection('mysql:host=loca...', 'forge', '', Array) #3 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\Database\Connectors\Connector->createConnection('mysql:host=loca...', Array, Array) #4 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(183): Illuminate\Database\Connectors\MySqlConnector->connect(Array) #5 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}() #6 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(883): call_user_func(Object(Closure)) #7 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(445): Illuminate\Database\Connection->getPdo() #8 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(640): Illuminate\Database\Connection->Illuminate\Database\{closure}('insert into fa...', Array) #9 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('insert into fa...', Array, Object(Closure)) #10 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(450): Illuminate\Database\Connection->run('insert into fa...', Array, Object(Closure)) #11 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(404): Illuminate\Database\Connection->statement('insert into fa...', Array) #12 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into fa...', Array) #13 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2133): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into fa...', Array, NULL) #14 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php(62): Illuminate\Database\Query\Builder->insertGetId(Array) #15 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(187): Illuminate\Queue\Failed\DatabaseFailedJobProvider->log('cmq', 'watch-gps', '{"displayName":...', 'Illuminate\\Queu...') #16 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Console\WorkCommand->logFailedJob(Object(Illuminate\Queue\Events\JobFailed)) #17 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(348): Illuminate\Queue\Console\WorkCommand->Illuminate\Queue\Console\{closure}(Object(Illuminate\Queue\Events\JobFailed)) #18 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(199): Illuminate\Events\Dispatcher->Illuminate\Events\{closure}('Illuminate\\Queu...', Array) #19 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(172): Illuminate\Events\Dispatcher->dispatch('Illuminate\\Queu...', Array, false) #20 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/FailingJob.php(36): Illuminate\Events\Dispatcher->fire(Object(Illuminate\Queue\Events\JobFailed)) #21 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(420): Illuminate\Queue\FailingJob::handle('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\MaxAttemptsExceededException)) #22 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(386): Illuminate\Queue\Worker->failJob('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\MaxAttemptsExceededException)) #23 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(311): Illuminate\Queue\Worker->markJobAsFailedIfAlreadyExceedsMaxAttempts('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), 3) #24 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(267): Illuminate\Queue\Worker->process('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\WorkerOptions)) #25 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(113): Illuminate\Queue\Worker->runJob(Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), 'cmq', Object(Illuminate\Queue\WorkerOptions)) #26 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(101): Illuminate\Queue\Worker->daemon('cmq', 'watch-gps', Object(Illuminate\Queue\WorkerOptions)) #27 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(85): Illuminate\Queue\Console\WorkCommand->runWorker('cmq', 'watch-gps') #28 [internal function]: Illuminate\Queue\Console\WorkCommand->fire() #29 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array) #30 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #31 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #32 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/Container.php(539): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #33 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Illuminate\Container\Container->call(Array) #34 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Command/Command.php(251): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #35 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(167): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #36 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(946): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #37 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #38 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #39 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #40 /data/wwwroot/sdgroup.aidong.ai/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #41 {main} Next Doctrine\DBAL\Driver\PDOException: SQLSTATE[HY000] [2002] No such file or directory in /data/wwwroot/sdgroup.aidong.ai/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50 Stack trace: #0 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(65): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=loca...', 'forge', '', Array) #1 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(44): Illuminate\Database\Connectors\Connector->createPdoConnection('mysql:host=loca...', 'forge', '', Array) #2 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\Database\Connectors\Connector->createConnection('mysql:host=loca...', Array, Array) #3 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(183): Illuminate\Database\Connectors\MySqlConnector->connect(Array) #4 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}() #5 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(883): call_user_func(Object(Closure)) #6 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(445): Illuminate\Database\Connection->getPdo() #7 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(640): Illuminate\Database\Connection->Illuminate\Database\{closure}('insert into fa...', Array) #8 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('insert into fa...', Array, Object(Closure)) #9 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(450): Illuminate\Database\Connection->run('insert into fa...', Array, Object(Closure)) #10 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Connection.php(404): Illuminate\Database\Connection->statement('insert into fa...', Array) #11 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into fa...', Array) #12 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2133): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into fa...', Array, NULL) #13 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php(62): Illuminate\Database\Query\Builder->insertGetId(Array) #14 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(187): Illuminate\Queue\Failed\DatabaseFailedJobProvider->log('cmq', 'watch-gps', '{"displayName":...', 'Illuminate\\Queu...') #15 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Console\WorkCommand->logFailedJob(Object(Illuminate\Queue\Events\JobFailed)) #16 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(348): Illuminate\Queue\Console\WorkCommand->Illuminate\Queue\Console\{closure}(Object(Illuminate\Queue\Events\JobFailed)) #17 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(199): Illuminate\Events\Dispatcher->Illuminate\Events\{closure}('Illuminate\\Queu...', Array) #18 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(172): Illuminate\Events\Dispatcher->dispatch('Illuminate\\Queu...', Array, false) #19 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/FailingJob.php(36): Illuminate\Events\Dispatcher->fire(Object(Illuminate\Queue\Events\JobFailed)) #20 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(420): Illuminate\Queue\FailingJob::handle('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\MaxAttemptsExceededException)) #21 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(386): Illuminate\Queue\Worker->failJob('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\MaxAttemptsExceededException)) #22 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(311): Illuminate\Queue\Worker->markJobAsFailedIfAlreadyExceedsMaxAttempts('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), 3) #23 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(267): Illuminate\Queue\Worker->process('cmq', Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), Object(Illuminate\Queue\WorkerOptions)) #24 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(113): Illuminate\Queue\Worker->runJob(Object(Freyo\LaravelQueueCMQ\Queue\Jobs\CMQJob), 'cmq', Object(Illuminate\Queue\WorkerOptions)) #25 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(101): Illuminate\Queue\Worker->daemon('cmq', 'watch-gps', Object(Illuminate\Queue\WorkerOptions)) #26 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(85): Illuminate\Queue\Console\WorkCommand->runWorker('cmq', 'watch-gps') #27 [internal function]: Illuminate\Queue\Console\WorkCommand->fire() #28 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array) #29 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #30 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #31 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Container/Container.php(539): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #32 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Illuminate\Container\Container->call(Array) #33 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Command/Command.php(251): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #34 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Console/Command.php(167): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #35 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(946): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #36 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #37 /data/wwwroot/sdgroup.aidong.ai/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #38 /data/wwwroot/sdgroup.aidong.ai/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #39 /data/wwwroot/sdgroup.aidong.ai/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #40 {main} [] []

当 job 处理成功的情况下,我才会 调用 job->delete(). 等设置的沉默时间到期后,会再次处理此 job,在这种情况下,是否可以关闭 laravel 框架记录失败 job 的功能?如果可以的话,请指点下如何关闭。
多谢

Pop the next job off of the queue.

`/**
* Pop the next job off of the queue.
*
* @param string $queue
*
* @return \Illuminate\Contracts\Queue\Job|null
*/
public function pop($queue = null)
{
try {
$queue = $this->getQueue($queue);
$message = $queue->receive_message($this->queueOptions['polling_wait_seconds']);
} catch (CMQServerException $e) {
if ($e->getCode() == self::CMQ_QUEUE_NO_MESSAGE_CODE) { //ignore no message
return null;
}
throw $e;
}

    return new CMQJob($this->container, $this, $message, $queue);
}`

请问这个$this->container应该传什么值

需要允许通过配置设置poll的时长

我的后台只启动了一个worker,监听了5个队列。如果消息队列里没有消息的时候,worker会超时。抓包看了下,因为代码里设置了polling的值为30秒,所以每一个队列在监听的时候都要等30秒。一个worker监听的队列过多的时候就会超时。

针对我们这样只有一个worker同时监听多个队列的,polling时长设置为30秒不是特别合理。5个队列要2分钟才能轮一圈。建议可以通过配置修改pollingWaitSeconds。

CMQ多个队列支持

作者您好,如果我需要从 CMQ 的多个队列中获取数据,在配置文件中CMQ_QUEUE 配置项该怎么填写?
是否支持多个队列?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.