運用テクニック

ログファイルの監視
XCuteは、日報や異常をメール送信する他、何らかのエラーが発生した場合、C:\microlab\XCute(バージョン番号)\XCute\Log フォルダーの下記2つのログファイルにエラーが記録されて残ります。
1週間に1度以上は、これらのログファイルを確認してください。また、これらログファイルのサイズが大きくなりすぎた場合には、削除して差し支えありません。
Error.log ... XCute本体のエラーなど
ProWeb.log ... ProWeb.exe (実行サーバー)のプロジェクトのエラーや起動と停止の履歴

運用時にXCuteのクエリーストリングの履歴を取る
XCuteでは、Httpサーバーから起動されたprocgi.exe がクエリーストリングをC:\InetPub\procgi(バージョン番号)\procgi/temp フォルダーにファイル(拡張子はsrtでスタートファイル)として書き出し、それに呼応しProLes.exe とExcelがHTMLファイルを作成し、それをprocgi.exe が読み取ってhttpサーバーへ応答します。
C:\InetPub\procgi(バージョン番号)\temp フォルダーのスタートファイルやHTMLは削除され残りません。
スタートファイルは、利用者の履歴で場合によっては残したい時もあります。C:\InetPub\procgi(バージョン番号)\procgi\temp1 フォルダーを作成すると、スタートファイルは残されます。

XCuteをバッチで利用するには
XCuteは、ブラウザからのリクエストで処理を行います。ブラウザを通さず、XCuteに処理を実行させる方法について説明します。このようなバッチ的な利用により、夜間にデータベースからExcelファイルを作成し配信するようなことも可能となります。
まず、ブラウザからのリクエストをどのように処理しているかを理解するため、つぎの実験を行いましょう。

1)通常のように、ブラウザでXCuteのLoginプロジェクトを実行できる状態にします。

2)ブラウザを通さずXCuteに処理を実行させて見ます。
つぎのように、メモ帳などのテキストエディタで「P=Login&WriteSheet=Login」とエディットし、C:\InetPub\procgi(バージョン番号)\tempフォルダーにファイル名 Login_z100.srt でセーブします。

C:\InetPub\procgi(バージョン番号)\temp フォルダーには、XCuteが動作して、下記のように、Login_z100.htmp ファイルがXCuteにより作成されます。

Login_z100.htmp は、WriteSheetされたHTMLファイルです。
実際のブラウザからのリクエストでは、procgi.exe Login_zNNN.srt というスタートファイルをprocgi\tempフォルダーに作り、それをもとにXCute側がLogin_zNNN.htmpファイルを作成します。
それをprocgi.exe が読み取って、HTTPサーバー経由でブラウザに返します。その後、srthtmpファイルを削除する仕組みとなっています。
今回の実験では、procgi.exe の役割を人為的に行ったので、srthtmpファイルは削除されずに残った訳です。
Login_z100.srtのようなsrtファイルをC:\InetPub\procgi(バージョン番号)\temp フォルダーにコピーすればバッチ処理的にXCuteを実行できる訳です。
なお、Login_z100.srtz ProWeb.exe のマシン識別番号です。

プロジェクトの起動と停止の外部操作
ProWeb(運用サーバー)で実行されているプロジェクトの起動と停止を、バッチのようなファイル操作で外部アプリから実行することができます。

ProWebには、下記のように、Loginは起動し、SampleAppは停止中とします。

下記のsrtファイルをC:\InetPub\procgi(バージョン番号)\temp へコピーします。
このファイルは、LoginSTOPSampleApp STARTさせるものでファイル名の1の部分は通常13桁の数字です。

この結果、LoginSTOPSampleAppSTARTされ、C:\InetPub\procgi(バージョン番号)\temp フォルダーにはProwebZ_z1.htmpファイルが作成されます。

srtファイルは、下記のルールで作成します。

ファイル名の書式

頭から6文字 ProWeb
頭から7文字目 ZからAで、proles.iniProWebA2Zの指定値
頭から8文字目 _ (アンダーバー文字)
頭から9文字目 からaで、proles.iniProWebA2Zの指定値(半角)
頭から10文字以降    13桁以内の数字
拡張子 .srt

ファイルの内容

P=ProWebZ&Q=stop_start&PW=microlab&STOP=Login&START=SampleApp
PWはパスワードのことで、proles.ini PassWordの指定値(初期値はmicrolabProtool.exeで暗号化)
STOPSTARTで所定のプロジェクトを指定する。


※バッチで、作り置きしてあるsrtファイルをコピーする際は、ファイルのタイムスタンプを現在時刻に更新してください。タイムスタンプが古いままですと、tmpフォルダを削除する機能により、srtファイルが即座に削除される可能性があります。 Proles.iniDeleteTempが、それにあたります。

※バッチ内にSetコマンドなど記述して、値をセットしたい場合、値はURLエンコードしたものを指定してください。
たとえば、P=test&WriteSheet=test&Set_R10C1=送信
と言う内容を記述する場合は、「送信」をエンコードした文字列に置き換えます。
P=test&WriteSheet=test&Set_R10C1=%E9%80%81%E4%BF%A1
このエンコードされた文字列は、excelのencodeurl関数を使って取得すると便利です。

参照
 ○
ブラウザからプロジェクトの停止と起動
 ○proles.ini ファイル