HQueue エラーログによるWEBインターフェースの遅延について


今回の記事では、HQueue を使用する際に、HQueue ServerのWEBインターフェースの動作が遅くなっていく問題について、詳細と対処方法を紹介致します。

▼環境

OS: Windows 7または10  日本語版

HQueue 15.5

 

▼問題内容

Windows環境で、HQueue使用時に、時間の経過と共にHQueue ServerのWEBインターフェース(※)の動作が遅くなっていきます。最終的には、ジョブのステータスの確認や、ジョブの管理等も行えなくなります。

※HQueue ServerのWEBインターフェースは、ブラウザ上で「http://<HQueue Serverマシン名またはIPアドレス>:5000(デフォルトの場合)」を入力するとアクセスすることができます。そのインターフェース上で、HQueue で実行されているジョブの管理を行うためのページです。

また、HQueue Serverのエラーとして、以下のようなエラーが頻発します。

<日付>  Traceback (most recent call last):
 File "<stdin>", line ***, in __call__
 File "C:\HQueueServer\python27\lib\site-packages\pylons-0.9.7rc4-py2.7.egg\pylons\controllers\xmlrpc.py", line 132, in __call__
    rpc_args, orig_method = xmlrpclib.loads(body)
 File "C:\HQueueServer\python27\lib\xmlrpclib.py", line 1135, in loads
    p.feed(data)
 File "C:\HQueueServer\python27\lib\xmlrpclib.py", line 557, in feed
    self._parser.Parse(data, 0)
ExpatError: not well-formed (invalid token): line 32, column 21

 <日付>  Traceback (most recent call last):
 File "<stdin>", line ***, in __call__
 File "C:\HQueueServer\python27\lib\site-packages\pylons-0.9.7rc4-py2.7.egg\pylons\controllers\xmlrpc.py", line 132, in __call__
    rpc_args, orig_method = xmlrpclib.loads(body)
 File "C:\HQueueServer\python27\lib\xmlrpclib.py", line 1135, in loads
    p.feed(data)
 File "C:\HQueueServer\python27\lib\xmlrpclib.py", line 557, in feed
    self._parser.Parse(data, 0)
ExpatError: not well-formed (invalid token): line 32, column 21

 

 

▼対処方法1

上記の問題が発生している場合は、HQueue ServerおよびHQueue Clientから出力されるログをすべて削除し、動作が改善するかどうかをご確認ください。

 

■HQueue ServerのWEBインターフェースを開くことができる場合

  1. HQueue ServerのWEBインターフェースをブラウザを使用して開きます。
  2. トップページ上部にある、 [Server Errors:][Client Messages:]の右側にある [Delete]をそれぞれ押して、エラーメッセージを削除してください。
    001_web

 

■HQueue ServerのWEBインターフェースが開かない場合

  1. HQueue Serverのサービスを停止してください。
    (Windows 10 の場合)
    – HQueue Serverのマシン上で、[スタート]ボタンを右クリックし、[コンピューターの管理] > [サービスとアプリケーション] > [サービス]を開きます。その後、[HQueueServer]サービスの上で右クリックして、[停止]を選択してください。
    002_win10_hqs_serv

    (Windows 7 の場合)
    – HQueue Serverのマシン上で、[Windows]メニューから、[コントロールパネル] > [管理ツール] > [サービス]を開きます。その後、[HQueueServer]サービスの上で右クリックして、[停止]を選択してください。
    003_win7_hqs_serv

  2. HQueue Serverのインストール先に移動します。デフォルトの場合は、以下のフォルダへ移動してください。
    C:/HQueueServer
  3. フォルダ内にあるerrors.logを削除して下さい。
    004_web
  4. [HQueueServer]サービスを起動します。サービスの上で右クリックを押し、[開始]を選択してください。
  5. WEBインターフェースを開き、トップページ上部にある、 [Server Errors:][Client Messages:]の右側にある [Delete]をそれぞれ押して、エラーメッセージを削除してください。

上記の操作を行い、WEBインターフェースの接続が正常に行える場合は、WEBインターフェース内の [Server Errors:][View]を再度確認してください。そこで、「not well-formed」エラーが引き続き頻発している場合は、「対処方法2」をご覧下さい。

 

 

▼対処方法2

対処方法1の内容を行うことでWEBインターフェースの接続が遅くなる問題が改善し、引き続き「not well-formed」エラーが出力される場合は、時間が経過すると、エラーにより、問題が再発します。

「not well-formed」といったエラーは、英語版でないWindowsマシン上で稼働しているHQueue Clientが、非ASCII文字を含むシステムメッセージを、HQueue Serverに送信しようとした時に発生することがあります。HQueue Clientのひとつがこれらのサーバーエラーのきっかけとなっている可能性がありますので、以下の内容をお試しください。

 

■HQueue Clientサービスの再起動

(Windows 10 の場合)

  1. HQueue Clientのマシン上で、[スタート]ボタンを右クリックし、[コンピューターの管理] > [サービスとアプリケーション] > [サービス]を開きます。
  2. [HQueueClient]サービスの上で右クリックして、[停止]を選択してください。
    005_win10_hqc_serv
  3. すべてのHQueue Clientのサービスを停止した状態で、HQueue ServerのWEBインターフェースから、Clientのエラーを削除してください。
  4. 再度、[HQueueClient]サービスの上で右クリックし、[開始]を選択してください。

(Windows 7 の場合)

  1. HQueue Clientのマシン上で、[Windows]メニューから、[コントロールパネル] > [管理ツール] > [サービス]を開きます。
  2. [HQueueClient]サービスの上で右クリックして、[停止]を選択してください。
    006_win7_hqc_serv
  3. すべてのHQueue Clientのサービスを停止した状態で、HQueue ServerのWEBインターフェースから、Clientのエラーを削除してください。
  4. 再度、[HQueueClient]サービスの上で右クリックし、[開始]を選択してください。

尚、上記の操作を行った後も、引き続き問題が発生する場合は、以下の手順にてHQueue ServerとHQueue Clientのサービスを再度停止して、HQueue ServerとHQueue Clientを最新のProduction Buildへアップグレードしてください。

 

■HQueue ServerとHQueue Clientのアップグレード方法

  1. HQueue ServerサービスとすべてのHQueue Clientサービスを停止してください。
  2. HQueue Serverのマシン上で、最新のProduction Buildのインストーラを起動し、[Choose Component]項目で[HQueue Server]を選択してインストールしてください。その際に、HQueue Serverのアップグレード/インストールのどちらを行うかの選択肢が表示されますので、[Upgrade]を選択してください。
    007_hqueue_minorupgrade_01
  3. 上記と同様に、すべてのHQueue Clientのマシン上で、最新のProduction Buildのインストーラを起動し、[Choose Component]項目で[HQueue Client]を選択してインストールしてください。
    ご注意:手順2と手順3で使用するインストーラのバージョンは、必ず同一のものを使用してください。
  4. HQueue Serverのサービスを起動してください。その後、HQueue Clientのサービスを起動し、動作をご確認ください。