みなさん、こんにちは。
push_notify[121]: stream: received error: The operation couldn't be completed. Operation timed out on: incoming stream: APN to host: gateway.push.apple.com:2195 APNBridge[116]: Will attempt to reconnect stream APN to host gateway.push.apple.com:2195 in 15 seconds
同じようなエラーとして以下のサイトも見つかりました。
Lion Server push notifications to iOS5
https://discussions.apple.com/message/16800900#24471966
Lion Serverに設定したAppleプッシュ通知 メールを受信してもiPhoneにプッシュ通知がこない時がある
http://www.sa-sa-ki.jp/blog/2012/07/lion-server-apple-iphone/
Appleのサポートと掛け合った結果・・・
何も分かりませんでした。(´;ω;`)
(解決策は続きへ・・・)
サポートに電話して問題が解決しないため、ログを凝らして様子を観察しました。
#!/usr/bin/perl $| = 1; while(1){ print "# "; ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); print sprintf("%d", $year + 1900); print "/" . sprintf("%02d", $mon +1); print "/" . sprintf("%02d", $mday); print " " . sprintf("%02d", $hour); print ":" . sprintf("%02d", $min); print ":" . sprintf("%02d", $sec); print " " . sprintf("%s", ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")[$wday]); print "\n"; $test = `ps ax | grep -v grep | grep "aps" | awk '{ print \$1 }' 2>&1`; for (split(/\n/, $test)){ my $test = $_; print "kill:" . $test." aps\n"; system("kill $test"); } $test = `ps ax | grep -v grep | grep "push" | awk '{ print \$1 }' 2>&1`; $test =~ s/\n//ig; print "kill:" . $test." push\n"; system("kill $test"); sleep 600; }
プロセスを10分おきに停止させるプログラムです。起動時に実行してあげてください^^。kill後は、自動的にpushデーモンが再起動します。
---
使い方が分からない人のために:
1.ターミナルを起動します。(アプリケションのユーティリティフォルダにあります。)
2.「vi PushKill.pl」と打ち込み、Return(Enter)キーを押します。
#!/usr/bin/perl $| = 1; while(1){ print "# "; ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); print sprintf("%d", $year + 1900); print "/" . sprintf("%02d", $mon +1); print "/" . sprintf("%02d", $mday); print " " . sprintf("%02d", $hour); print ":" . sprintf("%02d", $min); print ":" . sprintf("%02d", $sec); print " " . sprintf("%s", ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")[$wday]); print "\n"; $test = `ps ax | grep -v grep | grep "aps" | awk '{ print \$1 }' 2>&1`; for (split(/\n/, $test)){ my $test = $_; print "kill:" . $test." aps\n"; system("kill $test"); } $test = `ps ax | grep -v grep | grep "push" | awk '{ print \$1 }' 2>&1`; $test =~ s/\n//ig; print "kill:" . $test." push\n"; system("kill $test"); sleep 600; }
コメントする