晴れときなるままに

脱出ゲーム、ナンプレ、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>

  関連記事

WordPress超初級
これまで何度もWordPressでブログを作ろうとして挫折してきました。 いつもテーマ検索してインストールした後、カスタマイズ方法がわからなくて嫌になってきたわけですが、今回ちょっと閃きました。 『有名なテーマならカスタ ...
ブログカスタマイズ
チビチビとカスタマイズしてみています。   機械感を出してみたくて各枠を画像にしてみたんですが・・・ 何か機械というより、遠めでパッと見るとメルヘン?な感じに見えてしまいます。枠の画像は3Dソフトで適当に作っ ...
2048
  ちまたで面白いと噂の「2048」というゲーム。スマホアプリは世界的大ヒットとか・・・・ふむ、ちょっと興味ある。 情弱の自分の所にそんな情報があるってことは、、 多分5年位前の大ヒットなんだろう。 んで、P ...
正夢
コーヒーを入れようとカップを持って部屋を出ようとした。 半開きだったドアを開けて廊下に出ようとしたら・・・ ドアのすぐ前にヘビが! 長さ30cm位、直径1cm位で大きくはなかったが、明らかにドアから部屋に入ろうとしていた ...
ワードサラダという言葉を見つけた
ナンプレ用のツイッターアカウントが相変わらず検索に引っかかりません。。作ってから7日くらい経ったんですけど。。。泣   ナンプレサイトで遊んで下さる方が少しずつですが増えています。まぁホントに少しずつなんですが ...