php amqp 消息队列 RabbitMQ 交换器类型 直连 (三)
1、AMQP_EX_TYPE_DIRECT:直连型
直连型又包括: 1对1 和1对N(N对1、 N对N)接收端receive.php代码如下
<?php $connect = new AMQPConnection(); $connect->connect(); $channel = new AMQPChannel($connect); $exchange = new AMQPExchange($channel); $exchange->setName('exchange'); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); $queue = new AMQPQueue($channel); $queue->setName('logs'); $queue->declare(); $queue->bind('exchange', 'logs'); while (true) { $queue->consume('callback'); } $connection->close(); function callback($envelope, $queue) { var_dump($envelope->getBody()); $queue->nack($envelope->getDeliveryTag()); }
发送端send.php代码如下
<?php $connect = new AMQPConnection(); $connect->connect(); $channel = new AMQPChannel($connect); $exchange = new AMQPExchange($channel); $exchange->setName('exchange'); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); $exchange->publish('direct type test','logs'); var_dump("Send Message OK"); $connect->disconnect();
运行结果如图所示
创建receive_one.php和receive_two.php 并把send.php代码改成如下代码方便我们观看 receive_one.php 和 receive_two.php 代码相同 或者用dos运行多个接收端
<?php $connect = new AMQPConnection(); $connect->connect(); $channel = new AMQPChannel($connect); $exchange = new AMQPExchange($channel); $exchange->setName('exchange'); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); $queue = new AMQPQueue($channel); $queue->setName('logs'); @$queue->declare(); $queue->bind('exchange', 'logs'); while (true) { $queue->consume('callback'); } $connection->close(); function callback($envelope, $queue) { var_dump($envelope->getBody()); $queue->nack($envelope->getDeliveryTag()); }
send.php
<?php $connect = new AMQPConnection(); $connect->connect(); $channel = new AMQPChannel($connect); $exchange = new AMQPExchange($channel); $exchange->setName('exchange'); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); for ($index = 1; $index < 5; $index++) { $exchange->publish($index,'logs'); var_dump("Send:$index"); } $exchange->delete(); $connect->disconnect();
运行结果如下
列队会把消息分配给每一个接收端分配处理这里看似完美但是如果想要更好的处理不同的任务就需要 公平调度
比如当1、3处理的都是简单的人 2、4都是处理的复杂的任务 如果任务过多时 receive_one.php是空闲的而receive_two.php是任务繁重的 我们进行如下测试 send.php改成5改成50
for ($index = 1; $index < 50; $index++) { $exchange->publish($index,'logs'); var_dump("Send:$index"); }
receive_two.php 加上 sleep(3)
function callback($envelope, $queue) { var_dump($envelope->getBody()); sleep(3); $queue->nack($envelope->getDeliveryTag()); }
我们运行程序结果如下
receive_one全部运行完而receive_two才运行一个 之后receive_one一直空闲 我们可以通过 在接收端设置 $channel->setPrefetchCount(1);
任务没人完成前不接收新的消息把消息发送给其他接收端
如下receive_one.php 和 receive_two.php
$channel = new AMQPChannel($connect);
$channel = new AMQPChannel($connect); $channel->setPrefetchCount(1);

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le message a été envoyé mais rejeté par l'autre partie. Cela signifie que les informations envoyées ont été envoyées avec succès depuis l'appareil, mais pour une raison quelconque, l'autre partie n'a pas reçu le message. Plus précisément, cela est généralement dû au fait que l'autre partie a défini certaines autorisations ou pris certaines actions, ce qui empêche la réception normale de vos informations.

Comment utiliser Swipe to Répondre dans iMessages sur iPhone Remarque : la fonctionnalité Swipe to Répondre ne fonctionne qu'avec les conversations iMessage dans iOS 17, pas avec les conversations SMS classiques dans l'application Messages. Ouvrez l'application Messages sur votre iPhone. Ensuite, dirigez-vous vers la conversation iMessage et faites simplement glisser votre doigt vers la droite sur l'iMessage auquel vous souhaitez répondre. Une fois cela fait, l'iMessage sélectionné sera mis au point tandis que tous les autres messages seront flous en arrière-plan. Vous verrez une zone de texte pour saisir une réponse et une icône "+" pour accéder aux applications iMessage telles que les enregistrements, les lieux, les autocollants, les photos, etc. Entrez simplement votre message,

Dans iOS17, Apple a ajouté plusieurs nouvelles fonctionnalités à son application Messages pour rendre la communication avec d'autres utilisateurs Apple plus créative et plus amusante. L'une des fonctionnalités est la possibilité d'utiliser des emojis comme autocollants. Les autocollants existent dans l’application Messages depuis des années, mais jusqu’à présent, ils n’ont pas beaucoup changé. En effet, dans iOS17, Apple traite tous les emojis standards comme des autocollants, ce qui leur permet d'être utilisés de la même manière que de véritables autocollants. Cela signifie essentiellement que vous n'êtes plus limité à les insérer dans les conversations. Désormais, vous pouvez également les faire glisser n'importe où sur la bulle de message. Vous pouvez même les empiler les uns sur les autres pour créer de petites scènes d'emoji. Les étapes suivantes vous montrent comment cela fonctionne dans iOS17

L'application native Messages sur iPhone vous permet de modifier facilement les textes envoyés. De cette façon, vous pouvez corriger vos erreurs, votre ponctuation et même corriger automatiquement les mauvaises expressions/mots qui ont pu être appliqués à votre texte. Dans cet article, nous apprendrons comment modifier des messages sur iPhone. Comment modifier des messages sur iPhone Requis : iPhone exécutant iOS16 ou version ultérieure. Vous ne pouvez modifier le texte iMessage que sur l'application Messages, et seulement dans les 15 minutes suivant l'envoi du texte original. Le texte non iMessage n’est pas pris en charge, il ne peut donc pas être récupéré ou modifié. Lancez l'application Messages sur votre iPhone. Dans Messages, sélectionnez la conversation à partir de laquelle vous souhaitez modifier le message

1. Être ajouté à la liste noire : si le message a été envoyé mais rejeté par l'autre partie, il est généralement sur la liste noire. À ce moment-là, vous ne pourrez pas envoyer de messages à l'autre partie, et l'autre partie ne le sera pas. capable de recevoir vos messages. 2. Problèmes de réseau : si l'état du réseau du destinataire est mauvais ou en cas de panne de réseau, le message risque de ne pas être reçu avec succès. À ce stade, vous pouvez essayer d'attendre que le réseau revienne à la normale avant de renvoyer le message. 3. L'autre partie a configuré Ne pas déranger : Si le destinataire a configuré Ne pas déranger dans WeChat, les messages de l'expéditeur ne seront ni rappelés ni affichés pendant une certaine période de temps.

Analyse des performances et stratégie d'optimisation de JavaQueue Résumé de la file d'attente : La file d'attente (file d'attente) est l'une des structures de données couramment utilisées en Java et est largement utilisée dans divers scénarios. Cet article abordera les problèmes de performances des files d'attente JavaQueue sous deux aspects : l'analyse des performances et les stratégies d'optimisation, et donnera des exemples de code spécifiques. Introduction La file d'attente est une structure de données premier entré, premier sorti (FIFO) qui peut être utilisée pour implémenter le mode producteur-consommateur, la file d'attente des tâches du pool de threads et d'autres scénarios. Java fournit une variété d'implémentations de files d'attente, telles que Arr

Xiaomi 14Pro est un modèle phare avec d'excellentes performances et configuration. Il a réalisé des ventes élevées depuis sa sortie officielle. De nombreuses petites fonctions du Xiaomi 14Pro seront ignorées par tout le monde. Par exemple, il peut être configuré pour éclairer l'écran pour les messages. la fonction est petite, mais elle est très pratique. Tout le monde rencontrera divers problèmes lors de l'utilisation du téléphone portable. Alors, comment configurer le Xiaomi 14Pro pour éclairer l'écran des messages ? Comment configurer le Xiaomi Mi 14 Pro pour éclairer l'écran des messages ? Étape 1 : Ouvrez l’application Paramètres de votre téléphone. Étape 2 : faites glisser votre doigt vers le bas jusqu'à ce que vous trouviez l'option « Écran de verrouillage et mot de passe » et cliquez pour entrer. Étape 3 : Dans le menu « Écran de verrouillage et code d'accès », recherchez et cliquez sur l'option « Activer l'écran pour les notifications ». Étape 4 : Sur la page « Activer l'écran lors de la réception de notifications », activez le commutateur pour activer

Date de sortie du Vivox100 confirmée ! Les dernières nouvelles ont été annoncées. Récemment, il y a eu un engouement pour les Vivox100 dans le monde de la technologie. Ce produit très attendu a finalement confirmé sa date de sortie, ce qui a enthousiasmé de nombreux consommateurs et passionnés de technologie. Il est rapporté que les Vivox100 seront officiellement lancés à la fin de ce mois. Quelles surprises cela apportera-t-il ? Quels sont les points forts du nouveau produit tant attendu ? Découvrons ensemble ce mystère technologique ? Vivox100s, en tant que dernier chef-d'œuvre de la série Vivox, a attiré beaucoup d'attention depuis son exposition.
