Exemple #1
0
 public function pop($number = 1)
 {
     $messages = array();
     for ($i = 0; $i < $number; $i++) {
         if ($message = $this->entity->blpop($this->channel, 3)) {
             $messages[] = Message::init(json_decode($message[1], true));
         } else {
             break;
         }
     }
     return $messages;
 }
Exemple #2
0
 public function log(Message $message, $flag = '')
 {
     if (!file_exists($this->path)) {
         mkdir($this->path, 0777);
     }
     $file = sprintf('%s%s.csv', date('Y-m'), $flag);
     //手机号,内容,创建时间,发送时间,发送结果
     $con = sprintf("%s,%s,%s,%s,%d\n", implode('|', $message->getMobiles()), str_replace(',', ',', $message->getContent()), date('Y-m-d H:i:s', $message->getCreatedAt()), date('Y-m-d H:i:s', $message->getSendAt()), (int) $message->getResult());
     file_put_contents($this->path . $file, $con, FILE_APPEND);
 }
Exemple #3
0
<?php

/*
 * 生成新消息,放入主queue中
 */
include_once __DIR__ . '/config.php';
use Filix\SMS\Queue\RedisQueue;
use Filix\SMS\Message\Message;
use Filix\SMS\Producer\PrimaryProducer;
use Filix\SMS\SmsService\BWService;
$redis = new Redis();
$redis->connect(REDIS_HOST, REDIS_PORT);
$primaryQueue = new RedisQueue($redis, PRIMARY_CHANNEL);
$secondaryQueue = new RedisQueue($redis, SECONDARY_CHANNEL);
$message = new Message();
$message->setMobiles(array('13764528569'));
//$message->setMobiles(array('13764528569', '13482089506'));
$producer = new PrimaryProducer(new BWService(), $primaryQueue, $secondaryQueue);
//while (1){
$message->setContent(date('Y-m-d/H:i:s'));
$result = $producer->send($message);
echo $result ? "success\n" : "fail\n";
//    sleep(1);
//}
Exemple #4
0
<?php

/*
 * 定时向管理员手机发送短信
 */
include_once __DIR__ . '/config.php';
use Filix\SMS\Message\Message;
use Filix\SMS\SmsService\BWService;
$service = new BWService();
while (1) {
    $message = new Message();
    $message->setMobiles(array(ADMIN_MOBILE));
    $content = mb_convert_encoding('百悟SMS服务监测短信,send at: ' . date('Y-m-d H:i:s'), "gbk", "utf-8");
    $message->setContent($content);
    $errors = $service->send(array($message));
    echo (count($errors) ? "fail at: " : "success at: ") . date('Y-m-d H:i:s') . "\n";
    unset($message);
    unset($errors);
    sleep(60 * 60);
    //一小时发一次
}