Моя задача - отправка push-уведомлений нескольким пользователям, которая нормально работает со следующей функцией
function push_to_apns_badge($token_array)
{
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$pem_path = MODULE_DIR.'push_notification'.DIRECTORY_SEPARATOR;
$apnsCert = $pem_path.'apns-dev.pem';
if(is_array($token_array) && count($token_array))
{
foreach ($token_array as $token)
{
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
$badge_count = (int)$token['badge'];
$payload = get_payload_badge($badge_count);
$apnsMessage = get_one_message_to_write_badge($token['token'],$payload);
$wrt = fwrite($apns, $apnsMessage);
$_error_str .= " $error $errorString ";
socket_close($apns);
fclose($apns);
}
}
return array(true,$_error_str);
}
Но это потребует слишком много ресурсов процессора.
Можно ли как-нибудь улучшить производительность?или чего-то там не хватает?
Спасибо