晴れときなるままに

脱出ゲーム、ナンプレ、Androidアプリ、その他管理人の思いつくまま

Perl:flock()でLOCK_xxを記述するにはuse Fcntl ‘:flock’;が必要

   

perl問題と結論はタイトルの通りです。そんなの当たり前って方が殆どだとは思いますが、、、

 

昨日、ほぼ1ヶ月ぶりにナンプレサイトの問題更新が失敗していました。PerlCGIを午前2時に定期実行しているのですが、たまに失敗してファイルが作成されません。エラーログとか見てもCGIがエラーになったログはなく・・・1年に1回位なら失敗しても仕方ないかと思ってましたが月イチ程度となると、、と、ちょっと真面目に調べてみました。

 

で、タイトルの通りです。お恥ずかしい。LOCK_EXでロックしていたのですがuseしていなかったので値は何なのか分かりません。簡易的にif分を入れてみたところ期待する「2」で無いことは分かりましたw

 

Perl自体はあさ~い知識で使用していますので、何か分からなければググってコピペ→動けばOKみたいなやり方をしてきましたが、まぁそんなやり方じゃいけませんよーって天からの忠告ですね。実行時エラーにもならずテストではファイルもキチンと出来てしまうのでまったく疑いもしませんでした。。

 

2本のプログラムから書き込みがあるファイルなのでロックできていないとファイルが壊れたりするんでしょうね。その辺りは確認してませんが、暇があればどういう挙動になるのかテストしてみたいです。

 

更新失敗の原因だという特定はできていませんが、修正してとりあえず様子見としたいと思います。他にも色々怪しいところがありそうです。。エラーの処理とかもあんまり書いて無いし・・・

 

ということで、flock()を使っているソースにuseを追加して、今日の更新は上手く行ったようです。

 - その他 ,

コメントを残してやって下さいな

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

デフォルトブラウザ
chromeを使ってもう何年も経ちますが、最近どうにも動きが重い。。 動画サイトを見ているとほぼ固まったような状態にまでなることもあります。再起動で直ったりしますが、その再起動に何分かかかったり・・・・   と ...
2048
  ちまたで面白いと噂の「2048」というゲーム。スマホアプリは世界的大ヒットとか・・・・ふむ、ちょっと興味ある。 情弱の自分の所にそんな情報があるってことは、、 多分5年位前の大ヒットなんだろう。 んで、P ...
正夢
コーヒーを入れようとカップを持って部屋を出ようとした。 半開きだったドアを開けて廊下に出ようとしたら・・・ ドアのすぐ前にヘビが! 長さ30cm位、直径1cm位で大きくはなかったが、明らかにドアから部屋に入ろうとしていた ...
フェイスブックも分からんwwww
なんでもかんでも、とりあえず触ってみますかねキャンペーン中なので、フェイスブックを触ってみています。   また遅えなぁ~ってのは、まぁいつものことでw   脱出ゲームとナンプレのFacebookページ ...
Google アナリティクスでアクティブユーザを監視する
タイトルの通りで・・・ナンプレサイトにアナリティクスの解析コードを入れてみました。   なんぼもアクセス無いのに何を解析するん?wwwwって感じですが、まぁにその通りw   何となく解析コード入れてみ ...