Home  >  Article  >  Backend Development  >  PHP message queue usage example analysis, PHP queue example analysis_PHP tutorial

PHP message queue usage example analysis, PHP queue example analysis_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:59:14832browse

PHP message queue usage example analysis, PHP queue example analysis

The examples in this article describe the usage of PHP message queue. Share it with everyone for your reference, the details are as follows:

This message queue is used for process communication under Linux

#根据路径和后缀创建一个id
$key = ftok(__DIR__, 'R');
#获取队列中的消息
$q = msg_get_queue($key);
#删除队列
msg_remove_queue($q);
#获取队列的状态信息
$status = msg_stat_queue($q);
print_r($status);
echo "\n";
for($i=0;$i<100;$i++)
{
  /**
   * 向队列里添加消息 
   * resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]]
   * $msgtype :消息的类型
   * $message : 具体的数据
   * $serialize:是否要序列化
   * $blocking: 是否阻塞 , 当队列中满时,会进行阻塞,设为非阻塞会产生一个 MSG_EAGAIN 的 错误消息
   */
  $flag = msg_send($q, 111, array('a'=>1), true, false , $errorcode);
  var_dump($errorcode);
}
/**
接收消息
resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] 
$desiredmsgtype:0表示从队列最前面开始返回数据, bigger 0:具体的某个队列
$maxsize:数据最大值,获取的消息如果》此值则出错
$msgtype:消息的具体类型, 因为$desiredmsgtype可以不指定类型,即指定为0
$flags:MSG_IPC_NOWAIT 如果队列为空直接返回(不阻塞), MSG_EXCEPT MSG_NOERROR 参见手册
*/
$data = msg_receive($q, 0, $type, 200, $msg);
var_dump($data);
echo "\n";
var_dump($type);
echo "\n";
var_dump($msg);
echo "\n";

Queue status information: specific reference manual

Array
(
[msg_perm.uid] => 1015
[msg_perm.gid] => 100
[msg_perm.mode] => 438
[msg_stime] => 0
[msg_rtime] => 0
[msg_ctime] => 1411830331
[msg_qnum] => 0
[msg_qbytes] => 65536
[msg_lspid] => 0
[msg_lrpid] => 0
)

Use the ipc command to view under Linux, and use the ipcrm command to delete

Readers who are interested in more PHP-related content can check out the special topics of this site: "Introduction Tutorial on PHP Basic Syntax", "Summary of PHP Error and Exception Handling Methods", "Summary of PHP Programming Algorithms" and "php Object-Oriented Programming" Design introductory tutorial》

I hope this article will be helpful to everyone in PHP programming.

Articles you may be interested in:

  • PHP memcache implementation of message queue case sharing
  • How to operate Linux message queue under PHP to complete inter-process communication
  • Message queue implemented in php Memcache
  • Memcache ring queue class example implemented by PHP
  • PHP queue usage example
  • Bidirectional queue class example implemented by php
  • php Memcache class sharing (memcache queue)
  • Example code for using redis queue operation in php
  • Practical application of queue in programming (php)

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1099076.htmlTechArticlePHP message queue usage example analysis, php queue example analysis This article describes the use of PHP message queue. Share it with everyone for your reference, the details are as follows: This message queue is used under Linux,...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn