オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

処理待ちの表示に凝る

»

SEをしていると数万件とか数十万件という数のデータを触る機会があります。

それだけあると読み替えや抽出などの処理に時間がかかります。
処理の内容によってはとても待っていられないほどです。

いつ終わるとも知れないと困ってしまいますので、
処理終了時刻を予測できるようにログを出力します。

多いパターンとしては現在の処理件数と総処理件数とジョブの開始時間を表示する方法です。
パッと見たときに、総件数が1万件で現在の処理件数が1000件、開始時間が1時間前だったら
あと9時間残っていることになります。えーっと、今が夜の0:30だからたぶんギリギリお客様の始業に
間に合わないなぁ。どうしよう。どうやって謝ろうか。などの悩みがはっきりします。
これがもしあと何時間で終わるかまったく予測もつかなかったとしたら、
胃をキリキリと痛めながら朝を迎えることになるでしょう。

場合によりけりですが、処理件数が膨大であればあるほど
処理予定時刻と言うのは甘めに見積もられます。
処理件数に関するログも出力しなければそれだけI/OもCPU使用時間も少なくなりますので、
無いにこしたことはありません。明日の朝までには終わる事が経験則上わかっていて、
会社を変える間際に流しっぱなしにして帰るような場合なら、
終了時の状態を告げるログだけを吐かせれば良いでしょう。

多くの場合、ログは軽くてわかりやすいものが求められます。
また、場合によってはアクセスで集計したりする可能性もありますので、
カンマ区切りのテキストファイルで出力すると便利なこともあります。

一方で、人間がはりつきながら終了を待ち望む場合があります。
トイレやタバコに席を立つほどではないけれども
目を離した隙に終わるほど短くも無いようなジョブがある場合、
これはSEの腕の見せ所です。

見えないところに凝るという職人魂が炸裂するアートな世界が繰り広げられます。
ということで、私が作った事がある処理待ちにチャカチャカ動くテキストベースの
アニメーションを何とか載せようと思ったのですが、このサイトに
Javascriptを埋め込む方法がわかりませんでした。チャンチャン。
この時間からGIFアニメーションを作るパワーもありませんので雰囲気だけ載せます。

 

棒がクルクルする

-  \  |  /  -  \

これをループして表示すると、棒がクルクル回って表示されます。
Linuxの起動画面などで見たことがあります。有名どころです。

 

射撃

||||||||||||   ・・・・・・・・・・〓〓  ヾ ←薬莢

処理件数が残り少なくなるに連れて、左側の壁が薄くなります。爽快感があります。
右側にあるやつは大砲です。ある一定件数ごとに一度、排莢するという細かい芸当も。
…(三点リーダ)を上手に使うと三点バーストっぽくなるぞ!

 

顔面回転系

(゚∀゚)アヒャ (∀゚ ) (゚ ) ( ) ( ゚) ( ゚∀) (゚∀゚)アヒャヒャ
( ´_ゝ`) ( ´_ゝ) ( ´_) ( ´) (` ) (ゝ` ) (_ゝ` ) ( ´_ゝ`)フーン

なかなか終わらないと腹が立ってきますので
表情の選択には慎重を期する必要があります。

 

WoW !信号

wWwwwwwwWWwwwヘ√レvv~wヘ√レvv~─wWwwwww( WOW! )

長い間 w と W と w と W をランダムでくっつけて表示します。
それを電光掲示板のように流すと電波っぽく見えます。
極めて低い確率で  ヘ√レvv~wヘ√レvv~─  のような乱れを挟んでその後にWOWと入れると
WOW信号みたいです。このネタをわかりあえる同士を探すために仕込むと良いと思います。

 

モールス信号

― ・・・ワレ デンサンチュウ―・ ・― ・―・ ・・・ ・―・  ・・―・・ ―・―・・ ・・・・・

何か擬似ランダム関数を作ってトンかツーに変換して
電光掲示板風に流すものです。
誰かの悪口などをマジなモールスに変換してほくそ笑んでいると、
相手もうっかりハムな人だったりすることがありますので気をつけましょう。

 

例えばモールス信号などは適度に減速してやる必要があります。
20件/秒とかそういう早い速度で計算するジョブで
1件に1回リフレッシュするように処理すると
肉眼では見えないくらいにすばやく切り替わってしまいます。。
ですので処理件数をカウンターにとり、カウンターを20で割ったときの
余りがゼロの場合に画面を更新する、というような仕組みが必要です。

このように頑張ると処理待ち時間を楽しく過ごすことができます。
ただしおもしろいものを作って他の人を喜ばせるのは良いですが、
あくまで本来の目的は処理を完了させることだということを
忘れずにやらないといけません。
正常に終わるはずのジョブがログ出力プログラムの中で
オーバーフローが発生して落ちちゃいました。
ログの最終行が(゚∀゚)アヒャでした。
原因は(゚∀゚)アヒャが65535回表示された事でした。
なんてことになると本末転倒です。

にしても、こういうところほど体力を投入したくなるはなぜなんでしょうか。

Comment(2)