忍者ブログ

UiPathのメモリリーク対策 追加開発

2021年08月17日
前回、ロボット実行プロセス「UiPath.Executor.exe」が
メモリを掴んだまま落ちる対策を書いた。
https://aki.p-kin.net/Entry/66/

ループ内で呼ばれるモジュールを分離して
別の「UiPath.Executor.exe」で実行することで
メモリを解放することができるようになった。

ところが、依然としてループを回しているプロセスで
1日50メガずつメモリを食っている。

今回は、この対策について。
PR
つづきはこちら "UiPathのメモリリーク対策 追加開発"

RPAプロセス競合対策

2021年06月09日

今日はUipathのプロセス競合(別のプロセスがファイルを開いている)で
リネームできずにロボットが止まってしまった話。

出力フォルダを覗いてみると、リネーム処理がされていない。
メモ帳でCSVファイルを保存したが、その処理が完了する前にリネーム処理が走っている模様。

じゃあ、トライキャッチでリネーム処理に失敗したら3秒待機させてから再びリネーム処理をさせるように変更。

さっそく試してみたけど、トライする前にエラー出てるし!


トライキャッチは、このサイトがわかりやすい。
https://koawaka.com/rpa-school/uipath-trycatch/#i-2

エラー発生時:Try→Catches(System.Exception)→Finally
エラー未発生時:Try→Finally




今回のリネーム処理はフォルダ内全ファイルをループで回しているのだが、
For Each item in Directory.GetFiles(フォルダパス)の処理で
ループ変数のitemがオブジェクト扱いになっているようで
処理中のファイルにアクセスしたことが原因と判明。

item変数のTypeArgumentをObjectからStringに変えてみたけど効果なし。

リネームしたいファイル名は、決まっているので今回はべた書きで対応した。

フォルダ内ループの参考ページ
https://www.rpahiroba.com/2018/08/19/uipathで複数ファイルに同じ処理をする方法/

時間内で調べきれなかったけど、これならいける!?

コレクションをファイルリストで取得
https://sweetpox.com/get-file-list


今度試してみて、また更新します。

Uipathの高速化について

2021年04月20日
今回もUiPathを使ったRPAの話。

前任者が異動になって引き継いだものの、
素人が納期に追われてその場しのぎで作ったロボットはまさにカオス。。。

処理内容は、専用ソフトでのみ表示できるデータを別形式で出力するというもの。

普通に設計すれば、専用ソフトのみを画面上に表示して、
ファイル名の取得やログファイルへの出力なんてバックグラウンドでやるものだけど、
ファイル名の取得にメモ帳を起動して、クリップボードに移してメモ帳を閉じる。
ログ出力は、無題のメモ帳を永遠と編集して、最後に保存というロジック。

期限までに変換が終わらないリスクがあるので、高速化を検討してみた。
つづきはこちら "Uipathの高速化について"

UiPathのメモリリーク対策 解決編

2021年04月16日
今回もRPAのメモリリーク対策の話。

再現OutOfMemoryが発生している状態の端末を触ることができた。

タスクマネージャーを開くと「UiPath.Executor.exe」が
1.4Gもメモリ食ってた。

前々回の記事で書いた「rundll32.exe」でメモリ解放する方法を試したけど、
「UiPath.Executor.exe」のメモリ使用量は全く変わらず。
(「rundll32.exe advapi32.dll,ProcessIdleTasks」をCMDで実行。)

ロボットがメモリを掴んだまま膨れ上がって落ちるようで、
ガベージコレクションのような方法は効果がなさげ。


さらに調べていくと、モジュールを呼び出す際に
「UiPath.Executor.exe」を別プロセスとして起動させることができるらしい。
つづきはこちら "UiPathのメモリリーク対策 解決編"

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

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

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

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

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