どう見てもプロセスは実行中です。本当に(ry
某月某日
ご注意*:私はプログラマではありません。。。
おはようございます。
こんにちは。
こんばんは。
遅筆加減に定評のあるmetalでございます。
某月某日におこったあることをかいてみた・・・・・・・・・・・・
続きはWEBで↓
データベースからデータを抽出しそれをテキストファイルに落とし込む
という処理をスクリプトで行わせて、生成されたテキストファイルをマージ
させればOKな処理だったのですが、、、、、なぜかテキストファイルがマー
ジされず・・・わけのわからないエラーが・・・
というわけで、いろいろと調べてみました。マージするまえにテキストを生成
させるわけなのですが、テキスト(複数)を生成中にマージを試みようとしている
模様・・・・・汗
(イメージはこんなカンジなのだろうか・・・)
1 :テキスト生成処理(テキストA)
↓2 :テキスト生成処理(テキストB)
↓↓3 :テキスト生成処理(テキストC)
↓↓↓
↓↓↓←4 :テキスト(A)とテキスト(B)をマージする処理
↓↓↓
終↓↓
了終↓
・・了終
・・・・了
スクリプトの中で、データを抽出させる処理とテキストには吐き出させる処理を
行っているのですが、この処理が完全に終了してから次の処理に行くものだとば
かり思ってたのに、「処理は開始したから次の処理にいくゾ」という流れだ
ったみたい。。
というわけで(?)次のようにしてみたくなった・・・
(イメージはこんなカンジなのだろうか・・)
[1:テキスト生成処理(テキストA)]
↓
●⇒1:の処理が完了したのを確認したので2:へ
↓
[2:テキスト生成処理(テキストB)]
↓
●⇒2:の処理が完了したのを確認したので3:へ
↓
[3:テキスト生成処理(テキストC)]
↓
●⇒3:の処理が完了したのを確認したので4:へ
↓
[4:テキスト(A)とテキスト(B)をマージ]
上記の流れにもっていくにはどうすりゃいいのだろうと調べてみたところ
呼び出された処理のステータスを確認できればいいみたい。
呼び出された処理が実行中は、ステータスが「0」でありつづけるので
その状態がつづいている場合、呼び出し元は次の処理へといかないように
すればいい模様。。次の処理へいかないようにするってことは呼び出し元
がなにもしなければOKってことでもあるみたいななので、Sleepという処理
を呼び出します。。いろいろとスクリプト書いてきましたが、Sleepという
処理を組み込むのははじめてだったります(*注:私はプログラマではあ
りません)。。
というわけで、ステータスが「0」である間は、呼び出し元はSleepしてろ
という処理をテキスト処理の直後に記述してなんとか無事完了・・
プログラムの実行制御なんて、意識してなかったので大変でした・・・・と
きれいにまとめようと思ったのですがががががががががが・・・
ロボットサークル部員がこれじゃーだめだろーーーーーーーとつっこまれそう
です・・・
それはさておき、プログラムの実行制御のことかいてたら別のネタがめずらし
く浮かんできた・・・しかし私には早さがたりない・・・
遅筆な私をお許しください。。。と各方面にひたすら謝るmetalでした。
次回予告(某アニメ風に)
流れに抗ったけど、やっぱり力尽きて流された・・・