Как мы можем отправлять сообщения GCM в большом количестве 1000 в базу данных, скажем, из 10 000 зарегистрированных пользователей?

Я использую следующий код для отправки сообщений GCM с помощью PHP и MySQL. Пожалуйста, помогите мне, чтобы он мог отправлять сообщения GCM в большом количестве 1000 в базу данных, скажем, из 10 000 зарегистрированных пользователей.

Перед тем, как пересечь 1000 пользователей, этот скрипт отлично работает; но после 1000 пользователей никто не получает толчок.

Ошибка, которую я получаю: Number of messages on bulk (1082) exceeds maximum allowed (1000)

 //GCM Send Notification function px_sendGCM($message, $type, $regid) { global $wpdb; $px_table_name = $wpdb->prefix.'gcm_users'; $options = get_option('gcm_setting'); $apiKey = $options['api-key']; $url = 'https://android.googleapis.com/gcm/send'; $result; $id; if($regid == 010) { $id = px_getIds(); }else { $id = $regid; } if($id == 010 && $id >= 1000){ $newId = array_chunk($id, 1000); foreach ($newId as $inner_id) { $fields = array( 'registration_ids' => $inner_id, 'data' => array($type => $message) ); $headers = array( 'Authorization' => 'key=' . $apiKey, 'Content-Type' => 'application/json' ); $result = wp_remote_post($url, array( 'method' => 'POST', 'headers' => $headers, 'httpversion' => '1.0', 'sslverify' => false, 'body' => json_encode($fields) ) ); } }else { $fields = array( 'registration_ids' => $id, 'data' => array($type => $message) ); $headers = array( 'Authorization' => 'key=' . $apiKey, 'Content-Type' => 'application/json' ); $result = wp_remote_post($url, array( 'method' => 'POST', 'headers' => $headers, 'httpversion' => '1.0', 'sslverify' => false, 'body' => json_encode($fields)) ); } $msg = $result['body']; $answer = json_decode($msg); $cano = px_canonical($answer); $suc = $answer->{'success'}; $fail = $answer->{'failure'}; $options = get_option('gcm_setting'); if($options['debug'] != false){ $inf= "<div id='message' class='updated'><p><b>".__('Message sent.','px_gcm')."</b><i>&nbsp;&nbsp;($message)</i></p><p>$msg</p></div>"; }else { $inf= "<div id='message' class='updated'><p><b>".__('Message sent.','px_gcm')."</b><i>&nbsp;&nbsp;($message)</i></p><p>".__('success:','px_gcm')." $suc &nbsp;&nbsp;".__('fail:','px_gcm')." $fail </p></div>"; } 

См. Полный код .

Solutions Collecting From Web of "Как мы можем отправлять сообщения GCM в большом количестве 1000 в базу данных, скажем, из 10 000 зарегистрированных пользователей?"

 //GCM Send Notification function px_sendGCM($message, $type, $regid) { global $wpdb; $px_table_name = $wpdb->prefix.'gcm_users'; $options = get_option('gcm_setting'); $apiKey = $options['api-key']; $url = 'https://android.googleapis.com/gcm/send'; $result; $id; if(sizeof($regid) == 010) { $id = px_getIds(); //Can you post this function, what is this condition for? }else { $id = $regid; } if(sizeof($id) > 1000){ // the condition over here cannot be both equal to 10 and >= 1000 $newId = array_chunk($id, 1000); foreach ($newId as $inner_id) { $fields = array( 'registration_ids' => $inner_id, 'data' => array($type => $message) ); $headers = array( 'Authorization' => 'key=' . $apiKey, 'Content-Type' => 'application/json' ); $result = wp_remote_post($url, array( 'method' => 'POST', 'headers' => $headers, 'httpversion' => '1.0', 'sslverify' => false, 'body' => json_encode($fields) ) ); } }else { $fields = array( 'registration_ids' => $id, 'data' => array($type => $message) ); $headers = array( 'Authorization' => 'key=' . $apiKey, 'Content-Type' => 'application/json' ); $result = wp_remote_post($url, array( 'method' => 'POST', 'headers' => $headers, 'httpversion' => '1.0', 'sslverify' => false, 'body' => json_encode($fields)) ); } $msg = $result['body']; $answer = json_decode($msg); $cano = px_canonical($answer); $suc = $answer->{'success'}; $fail = $answer->{'failure'}; $options = get_option('gcm_setting'); if($options['debug'] != false){ $inf= "<div id='message' class='updated'><p><b>".__('Message sent.','px_gcm')."</b><i>&nbsp;&nbsp;($message)</i></p><p>$msg</p></div>"; }else { $inf= "<div id='message' class='updated'><p><b>".__('Message sent.','px_gcm')."</b><i>&nbsp;&nbsp;($message)</i></p><p>".__('success:','px_gcm')." $suc &nbsp;&nbsp;".__('fail:','px_gcm')." $fail </p></div>"; }