2019-08-03
<h1>git操作</h1>
<p>将不想提交的文件撤出暂存区
<code>git reset {file}</code></p>
<p>当前分支修改中,突然来新需求急上线,但当前分支不想提交,就放进储藏这些变更
<code>git stash</code></p>
<p>使用下面的命令查看当前储藏的分支列表
<code>git stash list</code></p>
<p>切回储藏分支
<code>git stash apply {my branch}</code></p>
<h1>队列生产者</h1>
<pre><code class="language-php">public function insertMq($name, $data = [])
{
$exchange = 'dk-exchange-' . $name;
$queue = 'dk-queue-' . $name;
try {
$connection = new AMQPStreamConnection(env('AMQP_HOST'), env('AMQP_PORT'), env('AMQP_USER'), env('AMQP_PASS'), env('AMQP_VHOST')); // 创建连接
$channel = $connection->channel();
$channel->queue_declare($queue, false, true, false, false);
$channel->exchange_declare($exchange, 'direct', false, true, false);
$channel->queue_bind($queue, $exchange); // 队列和交换器绑定
$messageBody = json_encode($data) ?? []; // 要推送的消息
$message = new AMQPMessage($messageBody, ['content_type' => 'text/plain', 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT]);
$channel->basic_publish($message, $exchange); // 推送消息
$channel->close();
$connection->close();
} catch (\Exception $e) {
Log::error($e->getMessage());
return false;
}
return true;
}</code></pre>
<h1>队列消费者</h1>
<pre><code class="language-php">$exchange = 'dk-exchange-shopping-short-message';
$queue = 'dk-queue-shopping-short-message';
$AMQP_HOST = env('AMQP_HOST');
$AMQP_PORT = env('AMQP_PORT');
$connection = new AMQPStreamConnection($AMQP_HOST, $AMQP_PORT, env('AMQP_USER'), env('AMQP_PASS'), env('AMQP_VHOST')); // 创建连接
$channel = $connection->channel();
$channel->queue_declare($queue, false, true, false, false);
$channel->exchange_declare($exchange, 'direct', false, true, false);
$channel->queue_bind($queue, $exchange); // 队列和交换器绑定
$callback = function ($message) {
if ($message->body) {
....//业务处理
}
# ack 确定
$message->delivery_info['channel']->basic_ack($message->delivery_info['delivery_tag']);
};
$channel->basic_qos(null, 1, null);
$channel->basic_consume($queue, '', false, false, false, false, $callback);
while ($channel->is_consuming()) {
$channel->wait();
}</code></pre>