@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

スレッド管理するプログラムのサービスについて

1
投稿者投稿内容
ぶぶ
会議室デビュー日: 2005/10/10
投稿数: 15
投稿日時: 2006-10-30 17:26
OS:Win Server2000
VB.NET:MS.NET Framwork1.1

こんにちは。現在かなり困っています。
宜しくお願いします。

2つのスレッドを可能とするバッチプログラムを
(Windowsのサービス登録して正常に開始したもの)
別ソリューションにコピーして作成し、
(スレッド名、クラス名等は変更しました)
Windowsのサービス登録して開始したところ、
正常にプログラムが動きません。

コピーされたプログラムのサービス、コピーしたプログラムのサービスを
それぞれ1つずつ開始した場合は、正常に稼動します。

プログラムの詳細な内容は以下の通りです。

・タイマーで数秒おきにあるDBのテーブルを参照します。
・そのテーブルには、プログラムIDと状況が登録されています。
・登録されたプログラムID(状況が実行待ち)を基にそのプログラムを稼動します。
・2つまで平行稼動できるように制御してあります。
・実行したプログラムIDの状況は実行済みに変更します。

コピーしたプログラムのDBのテーブルは
コピーされたプログラムのDBのテーブルと別です。

2つのプログラム(コピーされたプログラム・コピーしたプログラム)の
両方のサービスを開始した際、DBのテーブルに実行待ちのプログラムIDを
登録しても、実行待ちの状態のままで、登録したプログラムを稼動してくれません。

(正常にプログラムを実行することもありますが、そのパターンが
 よく分からない状態です。)

何が原因か全く分からない状態です。
調査すべき点などでも、教えてください。
宜しくお願いします。

甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-10-30 18:10
引用:

ぶぶさんの書き込み (2006-10-30 17:26) より:
何が原因か全く分からない状態です。
調査すべき点などでも、教えてください。


最低限、デバッガで「何がエラーになっているのか?」ぐらいは確認してから質問してください。今の質問内容は「いろいろ直して正しく動く様にしたつもりなんだけど動きません」といっているのに等しい。

#単純ミス(変更漏れ)の予感。
#別サービスにする必要があるのか考察する必要がある予感。
#別サービスにしなくても、普通にスレッドを二つ立てれば済む話じゃないのか?
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2006-10-30 18:17
引用:

#別サービスにする必要があるのか考察する必要がある予感。


私も、えっ「2つのスレッド=2つのサービス」なの?と思いました。

とにかく、イベントやら条件分岐やらに片っ端にログ出力ロジックを入れてみるのが一番ではないでしょうか。
#意外とDBの参照すら動いていなかったりということがある。
ぶぶ
会議室デビュー日: 2005/10/10
投稿数: 15
投稿日時: 2006-10-30 18:33
甕星さん、まどかさん、お返事ありがとうございます。

>#別サービスにする必要があるのか考察する必要がある予感。

としたいのですが、別アプリケーションとして扱いたいので、
同じ機能は、コピーしてプログラムを作成しました。

システムエラーが起きた場合、エラーログをテキストに書く
仕様も含まれているのですが、テキストに書かれず、
DBのテーブルに登録されているはずのプログラムが起動していない状態なのです。

>とにかく、イベントやら条件分岐やらに片っ端にログ出力ロジックを入れてみるのが一番ではないでしょうか。

とにかく、やってみます。
ありがとうございます。




甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-10-30 18:41
引用:

ぶぶさんの書き込み (2006-10-30 18:33) より:
甕星さん、まどかさん、お返事ありがとうございます。

システムエラーが起きた場合、エラーログをテキストに書く
仕様も含まれているのですが、テキストに書かれず、
DBのテーブルに登録されているはずのプログラムが起動していない状態なのです。


・・・でっ、デバッガは?サービスを作るならリモートデバッグは必須のツールだと思うのだけど、使っていないの?
1

スキルアップ/キャリアアップ(JOB@IT)