Skip to content

Commit 669fafa

Browse files
authored
Merge pull request #1 from freyo/master
job queue name fixes
2 parents 0f8a5df + f79c5fd commit 669fafa

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

config/cmq.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
'secret_key' => env('CMQ_SECRET_KEY', 'your-secret-key'),
1313
'secret_id' => env('CMQ_SECRET_ID', 'your-secret-id'),
1414

15+
'queue' => env('CMQ_QUEUE', 'default'),
16+
1517
'options' => [
1618
'queue' => [
1719
'host' => env('CMQ_QUEUE_HOST', 'https://cmq-queue-region.api.qcloud.com'),

src/Queue/CMQQueue.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function size($queue = null)
5050
{
5151
$attributes = $this->getQueue($queue)->get_attributes();
5252

53-
return (int)$attributes->activeMsgNum;
53+
return (int) $attributes->activeMsgNum;
5454
}
5555

5656
/**
@@ -125,15 +125,16 @@ public function later($delay, $job, $data = '', $queue = null)
125125
public function pop($queue = null)
126126
{
127127
try {
128-
$message = $this->getQueue($queue)->receive_message($this->queueOptions['polling_wait_seconds']);
128+
$queue = $this->getQueue($queue);
129+
$message = $queue->receive_message($this->queueOptions['polling_wait_seconds']);
129130
} catch (CMQServerException $e) {
130131
if ($e->getCode() == self::CMQ_QUEUE_NO_MESSAGE_CODE) { //ignore no message
131132
return null;
132133
}
133134
throw $e;
134135
}
135136

136-
return new CMQJob($this->container, $this, $message);
137+
return new CMQJob($this->container, $this, $message, $queue);
137138
}
138139

139140
/**

src/Queue/Driver/Queue.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ public function __construct($queue_name, CMQClient $cmq_client, $encoding = fals
1515
$this->encoding = $encoding;
1616
}
1717

18+
/**
19+
* @return mixed
20+
*/
21+
public function getQueueName()
22+
{
23+
return $this->queue_name;
24+
}
25+
1826
/* 设置是否对消息体进行base64编码
1927
2028
@type encoding: bool

src/Queue/Jobs/CMQJob.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Freyo\LaravelQueueCMQ\Queue\CMQQueue;
66
use Freyo\LaravelQueueCMQ\Queue\Driver\Message;
7+
use Freyo\LaravelQueueCMQ\Queue\Driver\Queue;
78
use Illuminate\Container\Container;
89
use Illuminate\Contracts\Queue\Job as JobContract;
910
use Illuminate\Database\DetectsDeadlocks;
@@ -16,11 +17,12 @@ class CMQJob extends Job implements JobContract
1617
protected $connection;
1718
protected $message;
1819

19-
public function __construct(Container $container, CMQQueue $connection, Message $message)
20+
public function __construct(Container $container, CMQQueue $connection, Message $message, Queue $queue)
2021
{
2122
$this->container = $container;
2223
$this->connection = $connection;
2324
$this->message = $message;
25+
$this->queue = $queue->getQueueName();
2426
}
2527

2628
/**
@@ -62,7 +64,7 @@ public function delete()
6264
{
6365
parent::delete();
6466

65-
$this->connection->getQueue()->delete_message($this->message->receiptHandle);
67+
$this->connection->getQueue($this->getQueue())->delete_message($this->message->receiptHandle);
6668
}
6769

6870
/**

0 commit comments

Comments
 (0)