$token = 'token';
$partitioner = new TestPubPartitioner();
// 定义了包中最多包涵的message条数
$max_package_message_count = 300;
// 定义测试中发包条数
$max_package_count = 50000;
echo "[Publish {$max_package_count} packages]\n";
$pub_file = fopen('./pub.txt', 'w+');
// 以下描述了一个bigpipe publisher的发布流程
// 该流程适合用于无状态发布(既每次都是init + send)
$uid = BigpipeUtilities::get_uid();
$count = 0;
$succeed = 0;
while ($count < $max_package_count) {
    $pub = new BigpipePublisher();
    if ($pub->init_ex($pipe_name, $token, $partitioner, $conf)) {
        // 发布流程从调用init接口成功后开始
        echo '[Success][init publisher]\\n';
        // 与c-api不同,
        // bigpipe php-api 发送的是一个message package
        // message package大小不能超过2MB
        // 用户声明BigpipeMessagePackage后, 调用push接口向package添加单条message
        $max_msg_count = rand(1, $max_package_message_count);
        echo "[Pack {$max_msg_count} messages to package <{$count}>]\n";
        $msg = null;
        $msg_package = new BigpipeMessagePackage();
        $msg_count = 0;
        while ($msg_count++ < $max_msg_count) {
            $msg = sprintf("[php-api-test][bigpipe_pvt_cluster3][uid:%s][package:%u][seq:%u]\n", $uid, $count, $msg_count);
            // 用户向message package添加单条message
            if (!$msg_package->push($msg)) {