さて、コミケ前だというのに、あたしのHPの更新がぱったり止んでしまって、新刊が出るのか?でないのか?
場所はどこなのか?どうなのかって??
思った方も多かったかと思います。
え?少ないって??
いや〜、それがね?
管理用のHPが開かなく成っちゃったのよ(笑
そもそも、これもテストカキコなので、正常に書き出されるか判らないんだけど??
で、原因何かは判らないけど?
症状を治すことには成功したのです!
前回の記事が「2011年12月27日11時15分」に書き出されているので、まぁそこまでは正常に動いていたのです。
問題はその後!
たぶん、すぐ翌日の28日辺りにHPを更新しなきゃ〜とか思って書き込もうとしたら出来なかったのです。
実は、以前にも同じようなことがあって、なんてことはない、printを実行しただけで落ちるという、訳わからないことが起きて??暫く放置していたら動くようになったのですが?
なので、このときはあきらめて、おそらく良く29日に再度更新を行おうとしたのです。
で、これ、出来ない、CGIを修正して、その上で、何がどうなのかを調べたのですが??
use DBI;
use XML::LibXML;
をすると、その後の
$dbh = DBI->connect();
で落ちている。
いろいろな組み合わせを試したんだけど、
use XML::LibXML;
がだめ、
とりあえず、サポートに、27日のあれ以降に、鯖の設定を変えたのかどうかを問い合わせたのですが、まぁ、正月休みだしね?
だからまぁ、あきらめて、コミケへGO!
そんなことをやっていたからと言うわけでもありませんが、原稿は間に合わず、今回新刊無し
寂しい、一日でした。
そして、先ほど戻ってきて、他に何か別の現象は起きていないかと調べ歩いたら??
atomが正常に出力されていないことが判りました。
途中で途切れているのです。
初めは固定で20行出していたので、これを15行に減らしてみました。
そしたら、15件分なのに途切れているorz
要するに、最大値の問題ではないと言うことですね??
って事は、バッファのフラッシュかな??
STDIOのフラッシュ方法がさっぱり判らなかったので調べてみたら、特殊変数の$|を初期値の0から1に変更すればいいらしいのです。
BEGIN { $| = 1 }
を書き込むと、atomが最終行まで正常部出力されるようになったので、とりあえずこれで、一安心。
何気なく、ここの管理ページにもそれを追加して上げたら、ちゃんと動くようになったじゃないですか??
500エラーの主な問題は、出力データが無いまま終了しているって反応なので?
ここで思うことは、やはりメモリ不足か、スレッドの処理不全かCPUの高負荷か?
AutoFlushをONにしないとデータの出力を待たないままスレッドが終了してしまうって事でしょうか?
さくらインターネットの人これ見てる??
サーバーの調子が何か変だよ??
AutoFlushを常にONにすると、それはそれで、鯖の負荷が増大すると思うので、治したら連絡よろしく!
|