たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

KNIME_作成したワークフローを定期実行_タスクスケジューラの利用

WindowsPCで作成したワークフローを決まった時間に自動で再生する

必要なケース

KNIMEワークフローの処理を決まった時間に再生して指定したファイルを定期更新したい
PCやKNIMEを手動で立ち上げずにバッチ処理としてワークフローを自動で動かしたい…等

▼注意点▼
当記事に載せた方法は、windowsの標準搭載アプリ「タスクスケジューラ」を使用するため
Macユーザーの場合には参考にならない
また、作成したバッチファイルをタスクとして登録する方法を記した記事であるため、KNIMEにしか使えないKNIMEならではの内容というわけではない

起動するバッチファイルを作成

まずは、以下の記事を参考にKNIMEのワークフロー起動用バッチファイルを作成する

▼参考記事▼
tama-shi.hatenadiary.com


タスクスケジューラにバッチファイルを登録

【タスクスケジューラの起動】

1:「タスクスケジューラ」を探して開く

▼【参考】たま氏のデスクトップ画面▼

※Windows11の場合
※スタートメニューで検索すると出てくるが、万が一出てこない場合には周りに聞く・調べる等で対応…

2:ライブラリ画面に移動

▼タスクスケジューラのライブラリ画面▼


このPCの購入時にプリセットされていたのか、身に覚えのないタスクが登録されていた...
私物のPCであれば、無用なPCの稼働や通信接続が起こらないよう、いちどは確認しておきたいものである
※私物PCでない場合には触れないが

【KNIME起動用バッチファイルを指定】

1:「タスクの作成」をクリック
※初学者は「基本タスクの作成」のほうがよいのやもしれないが、当記事に於いては扱わない

▼指定場所▼


2:プロパティ画面を出し、タスク名を設定

▼タスクのプロパティ▼


3:タブ「操作」画面を開き「新規」→「参照」をクリック

▼ジョブ新規登録▼


4:ファイル選択画面が出たらバッチファイルを指定

▼起動ファイルの選択▼


▼ファイル選択後▼


【実行時間の設定】

タブ「トリガー」画面を開き「新規」をクリック
※以下の例では、1/31以降の平日の夜中の0時に起動するよう設定した

▼トリガー設定例▼

右下のOKボタンを押下し、設定を完了する

スケジュールが登録されたことを確認

登録されると、以下のようにライブラリにタスクが追加される

▼登録確認▼


「状態」が「準備完了」となっていれば実行されるが
実行したくない場合には「準備完了」の上にポインタを合わせて右クリックし「無効」に変更する

▼タスクの無効化▼


【重要】タスクスケジューラの使用にあたり

会社等から支給されたPCにタスクを登録するにあたっては
システムおよびネットワークを管理している側で制御されているために使用できない可能性や
例えば一定の時間が経過すると通信接続が切れる可能性、
業務終了後にはPCを落とさないといけない等、様々な状況があり得る
タスクスケジューラは、そういった個別の状況を理解したうえで利用することが前提となる

また、タスクスケジューラの設定は、結構、奥深い
例えば…
・ログインしている場合にだけ行う
・電源がつながっているときだけ実行する
・最上位の権限で実行する
・停止したら一定の時間で強制終了する
・前の実行が途中停止してプログラムが起動中でも構わず次回も実行を行う…等...
その他、1台のPCを複数人で使用している場合に必要な対処もあるようにおもう

特に業務で使用する場合、ワークフローがやってくれるだろうとアテにしていたら起動できていなかった
エラーで止まっていたけれどきづかなかった
…なんてことがないように、利用時にはタスク起動の確認またはそれに値するような措置は、必ず行うようにしたい
※作成したタスクはエクスポートして保存(設定に変更があれば都度更新も)しておくとなおよい

たま氏はタスクスケジューラを大して熟知していないため、いちおう解説サイトのリンクを載せておくが
基本的に判らないことは調べて理解しておくか周りの詳しい人に頼ったうえで利用することをお勧めする

▼すばらしく丁寧な解説記事▼
【初心者向け】Windowsのタスクスケジューラの使い方! | スマホアプリやiPhone/Androidスマホなどの各種デバイスの使い方・最新情報を紹介するメディアです。

▼困ったときに参考にしたい記事▼
手っ取り早く使いたいSE向け「タスクスケジューラ」使い方講座
なんと心強い...

最後に、いうまでもないのやもしれないが、テスト実行時には更新してはいけないファイルを更新してしまった!等のことが起きないように
例えばKNIMEワークフローで上書きするファイルはテスト用ファイルを指定するなど、テストのための環境を準備したうえで実行する