まず最初に
色々暗雲立ちこめるProjectはありますが、今年も暗雲からの幕開けです。おそらく、この題名だけを読んだプロマネの方は、なんだ、そっちのProjectか!?って思われたかもたかもしれません。
案件のProjectが暗雲については、また別記事で書きます。そっちを現実逃避したくて、これを書いているといっても過言ではないです。私はプロマネではありませんが、システム側を見ているので、去年からそれで体調を崩したり、入院したりそんな状況まで追い込まれたProjectに参画しています。ただ、そろそろチェックメイトな予感です。
そんなことよりここで取り上げるネタについて
気をとりなおして、年末から気がついてましたが、今ラジオをJenkinsを使って録音しているのですが、そのJOBというかProjectが転けまくっているという事についての記事となります。時間がなくて、ゆっくり腰を据えて原因追求と修正する時間がとれなかったので、やっとこの三が日で着手しました。
まずは、状況確認からしてみましょう。
思った通り全部のJOBが転けてますね。真っ赤っかですw
録音しているサーバが転けている場合も、その状況になりますが、SSHで問題無く接続出来るし、Zabbixでみる限りリソースが張り付いているとか、HDDスペースが全く空いてない等の状況は確認出来ませんでした。
いつから転けだしたのか?を見る
これを見る限り、12月2日までは旨く行っていたようですね。ということは、この辺りの深夜枠で仕様が変わった物と思われます。仕方が無いですね。こんなことは過去何度も直面しています。ブラウザーのバックエンドを解析すると、どんなことをやっているのか分かるので、そこでいつも修正をかけるのです。
どうも解析をした結果
consoleログをみると、処理落ちして、スラックに通知している事が分かりますね。まあ、通知がきていたので知ってるという話なのですが、その中でも、
09:00:06 failed auth1 process
という文字列です。これは、認証の1つめで転けてるよっていうエラーです。今まではFLASHでそこにアクションをかけて、認証キーをもらってそのキーを使って録音のmotionに入ってました。それがもらえてないので、録音を打ち切りましたという事みたいです。プログラム上で、authキーを取得できなかった場合、exit 1で処理落ちする構文となっている為、さきには進まず、キックされて、処理の途中で落ちる感じで今日まできたのが、現況ですね。
今回は、12月でFLASHが終わる事で、今まで認証キーのやりとりをFLASHでやってました。そこから、トークンキーの決め打ちの値で認証する方式に変更になったようです。FLASHからhtml5の認証に変わっています。
その当たりをサクッと修正を加えて、先ほど録音出来る事を確認しました。後きっと番組も終わった物とか結構ありそうなので、一度整理しないと行けないかもしれません。
潜在的なバグ
微妙に、27時対応をプログラムの上でやってて、年またぎや月またぎの所で、たまに旨く行かない潜在的なバグものこっているので、それらについては追々修正を入れます。微妙に下記の様な奴ですね。11月24日が取得できず、11-_24となってますよね?本来は11-24_24.00.00とかにならないと行けないのと、なぜか24日が2つ同じ内容だとおもうのすが、処理されているのが見れますね。
12/01 00:00 に1時間録音したとして、保存される時間が12-01-01.00.00になるとラジオ時間にならないので、11-30-24.00.00にしたいわけです。その当たりの処理を入れてます。年をまたいだ時は、2021/01/01 00:00 – 01:00 まで録音した場合の表記は2020-12-31.24.00.00にしたい訳です。その当たりのパターンが足りて無いのかもしれません。閏年の判定も入れてますが、その当たり是パン見直しですね。繰り下がりがあるので若干ややこしいのです。
今日は日曜日なので
山下達郎のサンデーソングブックなJOBがこの後14時から動くと思うので、そこで動作チェックをします。問題無いと思いますけどね。おそらくw有償サービスじゃないので、気分は楽ですね。
結果
問題無くSUCCESSまでたどりつきましたね。天気アイコンは、12月3日からずーっとFailしてたので、しばらくは雨のままだと思います。回数を重ねていくと、曇り・晴れ時々曇り・晴れと変化していきます。とりあえず、青玉になったので、ひとまず改修はこれで完了ということで!