はじめに
こんにちは、まっきーです。
さて、前回「KNIMEを立ち上げずに実行する」ということで、KNIMEをバッチファイルで動かすということに触れました。
これでだいぶ作業が楽になった方もいらっしゃるのではないでしょうか。でも、こんな人もいるかもしれません。
「ダブルクリックすら面倒くさい!」
そうですよね、私ももっとサボりたいです。タイトルに完全自動化とか書いてあるのに、ダブルクリックしたら意味ないじゃないか!と。
そこで今回は、ダブルクリックすらしなくてよくなる方法をご紹介します。読んでいただけると分かるのですが、KNIME、一切関係ありません笑
※有料のKNIME Serverは使用しません!
※今回もWindowsの方向けです、すみません。Macの方は、 Automatorや iCal で検索ください
今回のテーマ ~タスクスケジューラ~
覚えてほしいこと
タスクスケジューラ+バッチファイルで完全自動化!
やりたいこと
「決まった時間にKNIME workflowを完全自動で実行する」
今回は、例として「毎週月・火・水・木・金の朝10時に自動的に実行する」というスケジュールを組んでみたいと思います。
タスクスケジューラとは?
そもそもタスクスケジューラとは、Windowsに搭載されている標準アプリで、事前に設定された時間に決まったアプリ・プログラムを自動的に実行してくれるものです。
タスクスケジューラの画面をざっくり解説すると下記のようになっています。
自動起動設定をしてみよう
さて、とりあえずやり方解説していきたいと思います。
Step1 - タスクスケジューラを起動する
まずは起動しましょう。Windows 10であれば検索Windowに「タスク」と打つだけで簡単に起動することができます。
Step2 - タスクを新規作成
さて、早速タスクを作っていきます。
- 右のExploreの部分でタスクを格納したいフォルダを選択
- 右の操作画面から「タスクの作成」をクリック
フォルダですが、もちろん右クリックをすれば好きなフォルダを作ることができます。
Step3 - タスクの詳細設定
次にタスクの詳細設定を行っていきます。
全般 - タスクの名前・実行環境を指定
全般のタブを設定していきます。赤枠が必須、緑枠は任意です。
私は、下記のように設定しています。
- 名前を設定
- 「ユーザーがログオンしているかどうかに関わらず実行する」にチェック
- 「最上位の特権で実行する」にチェック
※会社のPCの場合、組織でセキュリティを管理しているため、多くはこの任意設定ができないと思います。そんな時は、デフォルト設定のまま「ユーザーがログオンしているときのみ実行する」にチェックを入れてください。
トリガー - スケジュールを設定
ここで、スケジュール実行の設定を行います。
今回は、例として「毎週月・火・水・木・金の朝10時に自動的に実行する」というスケジュールを組んでみたいと思います。
色々下の方に詳細設定ありますが、通常の設定で十分です。
- タスクの開始の部分で、「スケジュールに従う」を選択
- 設定で、「毎週」を選択、開始日時を指定したら、繰り返したい曜日を選択します。今回は各週実行したいので間隔の設定は1週間ごとですね。
- 最後にOKを押してトリガーの設定は終了です。
操作 - バッチファイルの指定
ここで、以前用意したバッチファイルを指定します。
条件 - 任意の設定
正直ここは任意の設定ですが、私は下記の電源オプションを変更しています。
- 「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックを外す
- 「タスクを実行するためにスリーブを解除する」にチェックを入れる
OK - パスワード入力
最後にOKを押して、パスワードを入力します。
これで設定完了です!
Step4 - 実行時はどうなるのか?
本当に動くのかどうか、気になりますよね。ちょっと実験してみたいと思います。今回は毎週土曜日、15:30に設定してみました。
・・・・・・
15:30まで待ちます・・・・・
・・・・
はい、15:30になった瞬間のスクリーンショットを取ってみました!ちょっと怖いのですが、15:30になった瞬間にいきなり黒い画面が立ち上がって、KNIMEが自動実行されていることが分かります。
結果のファイルも15:30に吐き出されていますね。
ちょっと一言
PC起動時に実行したい場合
上の例では、スケジュール実行を行いましたが、トリガーの設定はほかにもあります。PC起動時に実行したいんだよな。という場合は、「スタートアップ時」を選択すればいいと思います。
おわりに
タスクスケジューラいかがでしょうか。日々定期的にやらないといけないことって、あると思います。KNIMEの自動化だけではなくて、他の業務にも活かせるといいですよね。
実はKNIMEには、KNIME Serverという有料のサービスもあります。KNIME Serverでも同じようにスケジュールを組んで実行を行えるのですが、自分で軽く作ってみたツールで、ダブルクリックの自動化をするためだけに、高いお金を払う意味はないですね。
もちろん、KNIME Serverには他にも機能があるため、一概にKNIME Serverがダメと言っているわけではありません。
特にデータ量が大きくて個人PCでの実行が難しい場合、いろんな人が同じWorkflowを実行したい場合、ウェブアプリケーション(グラフ化、分析ツール、データダウンロードツール等)として、KNIMEを使ったことのない人にも使ってもらいたいというような事例がある場合には、検討の余地ありだと思います。
私の紹介している内容はかなり事務的な要素の自動化にFocusしているので、KNIME Serverではなく、バッチファイルでいいのでは?という提案でした!仕事を減らして自由に暮らしていきましょう!ではまた!
余談
今回も名作を上げてみました。「ゴッド・ファーザー」です。マフィアの一家を描いたものなのですが、めちゃめちゃヒューマンドラマで、「ファミリー・男気」を感じられる映画です。もし興味があればぜひ!
参考リンク
- Quiita - タスクスケジューラ
- Tech TIPS タスクスケジューラについて: