晴れときなるままに

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

  関連記事

ブログカスタマイズ
チビチビとカスタマイズしてみています。   機械感を出してみたくて各枠を画像にしてみたんですが・・・ 何か機械というより、遠めでパッと見るとメルヘン?な感じに見えてしまいます。枠の画像は3Dソフトで適当に作っ ...
デフォルトブラウザ
chromeを使ってもう何年も経ちますが、最近どうにも動きが重い。。 動画サイトを見ているとほぼ固まったような状態にまでなることもあります。再起動で直ったりしますが、その再起動に何分かかかったり・・・・   と ...
2048
  ちまたで面白いと噂の「2048」というゲーム。スマホアプリは世界的大ヒットとか・・・・ふむ、ちょっと興味ある。 情弱の自分の所にそんな情報があるってことは、、 多分5年位前の大ヒットなんだろう。 んで、P ...
ワードサラダという言葉を見つけた
ナンプレ用のツイッターアカウントが相変わらず検索に引っかかりません。。作ってから7日くらい経ったんですけど。。。泣   ナンプレサイトで遊んで下さる方が少しずつですが増えています。まぁホントに少しずつなんですが ...
フェイスブックも分からんwwww
なんでもかんでも、とりあえず触ってみますかねキャンペーン中なので、フェイスブックを触ってみています。   また遅えなぁ~ってのは、まぁいつものことでw   脱出ゲームとナンプレのFacebookページ ...