如何循环每3分钟但脚本不能睡觉

时间:2015-01-23 20:17:38

标签: php html xml xmpphp

我有一个用于聊天自动回复的脚本,它使用while()来运行,所以它会一直运行直到它死掉 我希望能够每隔3分钟发送一次“PING”消息,但仍然可以对收到的每条消息进行“自动回复”。
麻烦的是,如果我使用sleep(180)函数循环'PING'消息,每3分钟将使'AUTO RESPOND'每条消息都停止响应消息,因为脚本睡眠时具有睡眠(180)功能。
那么什么解决方案使脚本可以每3分钟循环“PING”消息,但仍然可以同时执行'AUTO RESPOND'每条消息。

有什么可能?
有人可以根据我下面的脚本帮助我吗?

$this->connect();  
while(!$this->isDisconnected()) {  
$starts = $this->processUntil(array('message', 'session_start'));  
foreach($starts as $go) {  
 switch($go[0]) {  
case 'session_start':  
$this->presence($status="Just Online !!!", $show="online");  
break;  
case 'message':
$filter = $show="online";  
if($new['from'] == $filter) {  
 $sender = explode('@', $new['from']);  
 $this->message($new['from'], $body="AUTO RESPOND MESSAGE: Sorry $sender[0] Iam Not Here Right Now.", $type="chat");   
}   
$the_time = time();  
$interval = 3*60;  
 while(true) {  
  if ($the_time + $interval >= time()) {  
   $this->message($myself, $body="PING !!!", $type="chat");  
   $the_time = time();  
  }  
 }  
break;  
 }  
}  
}  

0 个答案:

没有答案