忍者ブログ

UiPathのメモリリーク対策 ログを仕掛けてみた

2021年04月16日
RPAのメモリリーク対策 ログを仕掛けてみた

前回の記事で書いたメモリリーク問題の続き。

パフォーマンスモニタはいいからソースのどの部分でメモリを消費しているかログを出力させろというのが上司の指示。

まずは公式HPから情報収集。
PR
つづきはこちら "UiPathのメモリリーク対策 ログを仕掛けてみた"

UiPathのメモリリーク対策(個人的メモ)

2021年04月09日
会社で使っているRPAロボットが30時間程度稼働したところで停止するらしい。

イベントビューワーで該当日時のログを確認したところ
「out of memory」メモリ不足でした。

メモリを増設したものの焼け石に水。

ネットで調べると、
「ワークフローの作り方を工夫する」だって。
https://forum.uipath.com/t/topic/93508

使っている変数を確認したけど、
フラグとしてint32が5,6個、日付型の変数が3つ、数文字のstr型など、
3000回程度のループ(30時間分)でメモリ不足になるとは思えん。


つづきはこちら "UiPathのメモリリーク対策(個人的メモ)"

SQLで取得したデータが大きすぎて扱えない

2021年03月30日
今日、SQLを使ってデータを取得したんだが、
700M弱のテキストデータって扱いに困る。

1行に8255文字あるし。

いつも使ってるotbeditは、1行5000文字までしか対応してなくて
改行なしに設定しても改行表示されるし。

データを取得するときの設定がいけてなかったのが敗因。

set pagesize 30000(30万行)
set linesize 8000 (8255文字)

ページもラインも出力データより小さい値が設定されてて、
扱いにくいったらない。


エクセルを得意としている自負はあるけど、おとなしく再取得します。。。


教訓
つづきはこちら "SQLで取得したデータが大きすぎて扱えない"

オートフィルタランチャーマクロ

2021年03月30日
前回、テキスト系のランチャーを作ったので、
今回はオートフィルタのモジュールを整理することにした。

選択中のセルでオートフィルタ 他

今回はこれらモジュールをまとめて呼び出すフォームを作った。

新しいことは特に何もやっていないので
説明については、前回のランチャーを参照。

各フォームを呼び出すランチャーマクロ(ランチャー5)


作った感想。
ショートカットキーで一発起動できるのが
オートフィルタ系モジュールの利点だったので、
UIを介すると使いづらいってのが正直なところ・・・。

ただ、オートフィルタにショートカットキーを
5つも割り当ててられないってのもあるので一長一短か。

ダウンロード


以下、ソース
つづきはこちら "オートフィルタランチャーマクロ"

ドラッグドロップで更新日時をファイル名に付与するVBScript

2021年03月25日
フォルダ別に作成されたログファイルが全部同じ名前で保存されている。。。

全件をローカルにコピペした場合は、(数字)で持ってこれるけど、
負荷軽減のために複数回に分けようとすると、windowsのバージョンが古いせいか
上書きしますかYES/NOしかない。

ファイル名に更新日時を付与したい衝動にかられる。

バッチファイルで使えそうなやつをみつけたけど、
更新日時の秒が入ってないのでそのままじゃ使えず。

軽くいじってみるも、うまくいかず断念。

自動的にファイル名に更新日付を付けるバッチファイルを作ったら便利すぎた
Engineer's Notebook
https://eng-notebook.com/post-3246/



VBScriptで自作を決意。
でもそのまえにググってみたら、もろHIT!

本部長は管理ができない
http://gren-dken.hatenablog.com/entry/2013/08/22/000119


冒頭部分のエラー処理については、こちらのサイトから

解析エンジニアの自動化 blog
http://chuckischarles.hatenablog.com/entry/2018/10/29/002921




利便性を考えて、更新日時の文字数は冒頭の定数で変更可能にした。

リネーム後のファイル名が既に使われている場合、
自動的に(№)を付与する仕様に変更。
ファイルの頭につけるかお尻につけるか
定数を定義して、IF文で分岐するように修正。

以下、ソース
つづきはこちら "ドラッグドロップで更新日時をファイル名に付与するVBScript"