2

ユーザーにメールを送信する cron ジョブに Quartz スケジューラーを使用しています。初めてメールを送信したいユーザーのセットが 1 つあります (たとえば、朝の 9 時)。別の時間 (たとえば、午前 10 時) にメールを送信したい別のユーザーのセットがあります。3 番目にメールを送信したい 3 番目のユーザーのセットがあります (たとえば、午前 11 時)。

つまり、メールを送信するという同じ仕事がありますが、ユーザーのセットが異なり、異なる時間にトリガーされます。

誰でもこれについて私を助けることができますか?

ありがとう

4

1 に答える 1

1

マージされた JobDataMap (JobExecutionContext にあるもの) で一連のユーザーを探すようにジョブをコーディングします。

ジョブのインスタンスを 1 つ定義しますが、それを起動するように設定された 3 つのトリガー (9:00 に 1 つ、10:00 に 1 つ、11:00 に 1 つ) で保存します。各トリガーの JobDataMap で、電子メールの送信先の名前のリストの識別子を格納します。指定された各トリガーが起動すると、その JobDataMap 値がマージされた JobDataMap に含まれ、ジョブはどのユーザーのセットに電子メールを送信するかを認識します。

ユーザーのセットが非常に大きい場合 (数十名以上の名前など)、セット自体ではなく、JobDataMap 内のセットに識別子 (ジョブが他の場所からセットを取得するために使用できる) のみを配置することをお勧めします。 .

于 2011-02-19T15:49:51.423 に答える