2011-01-20 98 views
2

おはようございます。私は、RESTソースを照会するアプリケーションを持っています。 5分ごとに更新されるデータを確実にキャプチャして、連続して実行する必要があります。私の解決策はタスクスケジューラで、このアプリケーションはサーバーの起動時に起動するように設定されています。起動すると、タイマーを使用して定期的に再クエリを実行します。 TSタスクは5分ごとに繰り返されるように設定されています。「アプリが既に実行されている場合は別のインスタンスを開始しない」チェックボックスが選択されているため、アプリがクラッシュした場合は5分以内に自動的に再起動します。タスクスケジューラWin Srvr 2K8 - フォアグラウンド/インタラクティブで実行

これは問題なく動作しますが、TSはアプリを表示しません。私は暖かくてふかふかと感じるだろう。を参照してください。ちょうど私が自分で起動したかのように。また、(例えば、新しいexeを投稿するために)閉じる必要がある場合は、タスクマネージャーを使用して削除する必要があります。ああ。私はいくつかの種類の "フォアグラウンドでの起動"オプションのためにTSオプションを何十回も行ってきましたが、どれも存在しません。私が何が欠けているか教えてもらえますか?

注:

  • 私のWeb検索から、それはそれは同じユーザーアカウントで実行している場合はアプリは、デスクトップとの対話が許可されていることは明らかだ...しかし、それは、私は私を使用していますシステムアカウントまたは別のローカルアカウントではなく、ADアカウント。
  • アプリが私にしか見えないようにすることはできますが、他のユーザーもそれを見たり操作したりすることができます。実際に作業を行った単一の目に見えないアプリからの結果を反映した独自のモニターアプリを各ユーザーが持っていれば、動作する唯一の方法だと思います。
  • 私はTSタスクを手動で開始するか、起動時に自動的に起動する場合と同じ動作になります。
  • 夜中にサーバーが再起動しても再開する必要があるため、「ユーザーがログオンしているときのみ実行する」は実行されません。
  • ちょっとしたPSスクリプトでアプリを起動していたので、アプリがまったく起動できなかった場合は通知を送ることができましたが、TSで直接起動すると変更はありません。

これをサービスとして書くのが適切な解決策であると思います。私はそれに少し時間を入れましたが、私はそれを前にやっておらず、走らせることができませんでした。合意がより良いアプローチであるとすれば、もう一度試してみます。

アイデア?ありがとう!

+0

この解決策を今までに見つけましたか?もしそうなら、それを分かち合うことができますか? – mservidio

+0

いいえ、私は恐れていません。私は目に見えない状態で走っていました。必要な場合は手動でTSジョブを一時停止してアプリを実行することができますしかしそれは単なる回避策です。 –

答えて

0

タスクを「ユーザーがログインしているときのみ実行する」に設定すると、「非表示」チェックボックスをオフにすると表示されます。

「ログオフユーザーがログオンしているかどうか」チェックボックスをオンにしている場合は、「非表示」チェックボックスをオフにしても非表示になります。タスクスケジューラの実装では、ログインしていない場合でもフォアグラウンドでプログラムを実行することはできません。

これを解決するには、AutoAdminLogonのユーザーを作成し、スタートアップスクリプトでアプリケーションを起動します。このようにすることで、起動時にこのユーザーと一緒にサーバーにログインし、必要なプログラムを起動します。

どのように進行しているかを確認したい場合は、そのユーザーとしてログインするか、そのセッションに切り替えることができます。

関連する問題