はじめに
Domoの管理を行っているとよきタイミングでデータと取り込んでくれとかわがままが多くなってくる。管理者が楽になる方法を記事として書いてみた。
対象者
・Workbenchを使って、jobを実行している人
・ちょっとでも楽したい人
Workbenchってなあに?
昔、記事にしてましたので、参考にどうぞ
JOBを順番連続で実行したい。
Workbenchには取り込むデータごとにJOBが多くあると思います。
弊社でもそこそこあります。
マスターのJOBを取り込んでから、明細を取り込むという順番にしないとDomo上でいろいろと都合が悪い場合があります。
なので、時間を少しずつずらしながらスケジュール実行するなど考えたり、月に一回であれば、順番を考えながら実行していたのですが、飽きました!
バッチ処理でできそう。
Workbench は、基本的にはスケジュール実行しか対応していませんが、CLI(コマンドラインインターフェース) での実行も可能です。
例の黒い画面です。
実行例
1. コマンドプロンプトを起動する
2.Workbench がインストールされているディレクトリに移動する
標準だったらここ!
cd C:\Program Files\Domo\Workbench
Wb.exeを実行する。
実行する前に、対象のDomoドメインと、動かすジョブIDを調べます。
今回として、下記の情報だったとして、実行をしてみます。
Domoドメイン:xxxxxxx
ジョブID:12
Wb.exe run-job -j 12 -s xxxxxxx.domo.com
バッチ処理を作る
いくつかのジョブIDを連続で実行したい場合、下記のようなバッチ処理を作成して、実行すると
順番に実行してくれて、ラクチンです。
Wb.exe run-job -j 12 -s xxxxxxx.domo.com
Wb.exe run-job -j 13 -s xxxxxxx.domo.com
Wb.exe run-job -j 14 -s xxxxxxx.domo.com
さらに便利にPsExecを使って
弊社では、24時間稼働しているサーバにWorkbenchを入れて運用しています。
そのためWorkbenchの実行のために、リモートデスクトップで入り、実行するということをやっていました。
それすら手間になったので、リモートでバッチ処理を起動する方法も考えました。
1.こちらからダウンロード
標準で入っていませんが、Windows純正のソフトでダウンロードするだけで利用できます。
以下よりPsExecをダウンロードし、適当な場所に展開する。
https://technet.microsoft.com/ja-jp/sysinternals/pxexec.aspx
ポートは下記を利用
ファイアウォールにて以下を開放しておく必要があります。よくわからない方はネットワーク管理者に聞きましょう。
・135/tcp(RPCエンドポイント・マッパー)
・445/tcp(ダイレクト・ホスティングSMB)
・1025~65535/tcp(RPC動的ポート)
実行はこんな感じ
サーバのIPアドレス、ログインできるユーザとパスワード、サーバ上のバッチ処理パスをパラメータとして実行する。
PsExec.exe -u <user> -p <pass> \\xxx.xxx.xxx.xxx C:\Remote\run_batch.bat
v2.1以降であれば、通信自体も暗号化されているようなので、安心して利用可能です。
まとめ
スケジュール実行できればラクチンですが、どうしてもタイミングを見計らっての手動実行の運用がある場合に、少しでも楽できるようなやり方です。
良かったらお試しください。