🛠️

【DataSpider】処理開始DBログライブラリ

2022/06/03に公開

最初に

この記事ではDataSpiderのライブラリとなる[処理開始DBログ]ライブラリについて解説します。

ライブラリ群の全体の話についてはこちらの本記事に記載しています。
https://zenn.dev/ryosanbimania/articles/5e361f5f9dc570

ライブラリの特徴

処理開始DBログはDataSpiderの各スクリプトが動き始めるときにログ情報としてデータベースに書き込みを行うライブラリです。
処理開始DBログで処理のスタートを記録し、正常終了DBログや異常終了DBログで終了情報をデータベースに書き込みます。

なぜログをデータベースに書き込むのか

ログはテキストファイルに書き込むのが定番です。いざというときにテキストファイルを開けて情報を読みますよね。
これをデータベースに置き換えると、いろいろデータ分析ができるんです。
・このスクリプトは平均何分くらいかかるのか
・夜間連携は昔よりも時間がかかっていないか
などなどです。
スクリプトが増えると運用管理が大変になるので、それを楽にするためにもデータベースにログを書くようにしましょう。

ここではDr.Sumというデータベースにデータを書き込みますが、もちろんこの仕組みは他のDBにも転用できます。

DBログに必要なテーブルの作り方はこちらの記事で解説しています。
https://zenn.dev/ryosanbimania/articles/1a48140d6fde1c

ライブラリの詳細

引き渡し変数

処理開始DBログライブラリで必要な変数はこちら。

親スクリプトから渡してほしい変数はこちらの2つです。
 ・実行スクリプトID
 ・実行スクリプト名
です。
親スクリプトのIDを持たせればOKです。

親スクリプトからの変数の渡し方はこちら。

親スクリプトからは自身の変数である
 ・スクリプトID
 ・スクリプト名
を渡します。

処理の流れ


[処理開始DBログ]ライブラリはコンポーネントが2つしかありません。
現在時刻を取得して、データベースに書き込むだけです。

マッピング


Event_Logテーブルに対し、該当する項目をマッピングします。

スクリプト変数から
実行スクリプトID → スクリプトID
実行スクリプト名 → スクリプト名
を結びつけます。

開始日時には現在時刻を取得します。
日付のフォーマットは

yyyy/MM/dd HH:mm:ss

とすればOKです。

そしてステータスは「処理実行中」をあらわす[2]を入力します。

実行ログ書き込み

マッピングができたら[書き込み(更新/挿入)処理]コンポーネントを配置します。
このとき[キーの値と一致する行は更新]にチェックを入れておくと、テーブル内に存在しないイベントIDの場合は挿入してくれるので、新規スクリプトを作成した時の運用が便利になります。

[処理開始DBログ]ライブラリは以上で終了です。

最後に

処理開始DBログライブラリについては以上となります。
ログをデータベースに書き込むと運用が楽になりますので、ぜひトライしてみてください。

他のライブラリについてもこちらで解説していますので、ぜひご覧になってください。
https://zenn.dev/ryosanbimania/articles/5e361f5f9dc570

Discussion