[Seasar-user:19982] Re: [S2Chronos] タスクインスタンスの動的追加

Hiroyoshi Takiguchi [E-MAIL ADDRESS DELETED]
2010年 7月 17日 (土) 08:34:33 JST


加藤様
瀧口です。

お忙しい所対応していただき有難うございます。

ご回答頂いた内容から以下のようにしようと思います。
認識違いがあれば、御指摘ください。

(S2Chronosで複数の対象を監視する場合)

監視タスククラスをひとつ作り、S2Chronosに@[E-MAIL ADDRESS DELETED]
で登録します。
監視タスクの中で独自にスレッドを立てて監視処理を行います。
個々の監視処理の遅れが全体に影響しない様にするため、
スレッドの終了とタスクの終了は非同期とし、
定期的に実行されるタスクの処理の中に、スレッドのライフサイクルを管
理するロジックを実装しようと思います。

On 2010/07/17, at 7:14, Junichi Kato <[E-MAIL ADDRESS DELETED]> wrote:

> 瀧口様
> 加藤です。
>
> 回答が遅れてすみません。
>
>
>> 1. 監視対象は動的に追加されます。
>> 2. 監視に関する処理はどれも同じなので、単一のTaskクラスで
>> 実装可能です。
>> 3. それぞれの監視対象に関する処理は並列で動作させます。
>> 4. サーバへの負荷を軽減させるため、開始時間を分散させます。
>
> 1は、スケジューラの稼働中にタスクを新規に登録するには、S2
> のコンポーネントでかつ、@TaskでautoScheduleをfalse
> にした状態にしておき、addTask(Hoge.class)すれば実現可能で
> す。
> S2Chronosのタスククラス(コンポーネント)はシングルト
> ンを想定しているので、コンポーネントのクラスを渡すことになりま
> す。
>
> 2.については、S2Chronos側で制限する仕様はありません。Task
> の実装次第です。
>
> 3.については、並列処理はタスクのクラスに@CloneTaskで並列処
> 理を簡単に実行できますが、自分でスレッドを起こされても可能です。
>
> 4.については、タスクに対してはトリガーで実行時間を指定するだけで
> す。開始時間を制御したければそこで工夫するしかありません。タスク
> は実行中は同じタスクを2重起動させることはできません。
>
> あまり、柔軟なことはできないので、Taskクラスから先の実装で
> 工夫されたほうがよいと思います。
>
> 簡単ですが、よろしくお願いいたします。
>
> 2010年7月11日13:54  <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。瀧口と申します。
>>
>> S2Chronosを利用させていただいて運用管理系のシステムを作成してい
>> ます。
>>
>> S2Chronosを使って以下を実現したいのですが、その方法が思つきま
>> せん。
>> アドバイスしていただけないでしょうか?
>>
>> 監視システムのようなものと仮定します。
>>
>> 1. 監視対象は動的に追加されます。
>> 2. 監視に関する処理はどれも同じなので、単一のTaskクラスで
>> 実装可能です。
>> 3. それぞれの監視対象に関する処理は並列で動作させます。
>> 4. サーバへの負荷を軽減させるため、開始時間を分散させます。
>>
>> 監視対象を追加する処理の中で
>> Schedulerに対してaddTaskして監視タスクを追加するイメージ
>> でいました。
>>
>> public Scheduler scheduler
>>
>> pubilc void addTarget(Target target) {
>> //省略
>> WatchTask watchTask = WatchTask.newTask(target);
>> sheduler.addTask(watchTask);
>> }
>>
>> しかしながら、addTaskの引数はClassなので
>> そもそも思想が違うのだな。と思っています。
>>
>> このような場合、どういった実装が考えられますでしょうか?
>>
>> 以上、よろしくお願いたします。
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>>
>
>
>
> --
> /**
>  * name  : Junichi Kato
>  * email : [E-MAIL ADDRESS DELETED]
>  *
>  * blog  : http://d.hatena.ne.jp/j5ik2o/
>  *
>  * commiting projects :
>  * http://jiemamy.org/
>  * http://s2chronos.sandbox.seasar.org/
>  * http://s2config.sandbox.seasar.org/
>  */
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


Seasar-user メーリングリストの案内