Skip to content

Commit 6f887a5

Browse files
committed
Merge pull request #7 from dmitry-udod/master
Add routing_key support
2 parents b432919 + 590d962 commit 6f887a5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ In your ```config/queue.php``` file you have to provide the following:
3434
'password' => 'guest',
3535
'vhost' => '/',
3636
'queue' => null,
37-
'queue_flags' => ['durable' => true], //Durable queue (survives server crash)
37+
'queue_flags' => ['durable' => true, 'routing_key' => null], //Durable queue (survives server crash)
3838
'message_properties' => ['delivery_mode' => 2], //Persistent messages (survives server crash)
3939
'channel_id' => null,
4040
'exchange_name' => null,

src/Queue/AMQPQueue.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public function push($job, $data = '', $queue = null)
110110
$queue = $this->getQueueName($queue);
111111
$this->declareQueue($queue);
112112
$payload = new AMQPMessage($this->createPayload($job, $data), $this->messageProperties);
113-
$this->channel->basic_publish($payload, $this->exchangeName, $queue);
113+
$this->channel->basic_publish($payload, $this->exchangeName, $this->getRoutingKey($queue));
114114
return true;
115115
}
116116

@@ -280,6 +280,17 @@ protected function getQueueName($name)
280280
return $name;
281281
}
282282

283+
/**
284+
* Get routing key from config or use default one (queue name)
285+
*
286+
* @param $queue string
287+
* @return string Routing key name
288+
*/
289+
protected function getRoutingKey($queue)
290+
{
291+
return empty($this->queueFlags['routing_key']) ? $queue : $this->queueFlags['routing_key'];
292+
}
293+
283294
/**
284295
* @param string $queueName
285296
* @param null|string $deferredQueueName

0 commit comments

Comments
 (0)