1

node-cronでジョブを構成しましたが、ノードでジョブをスケジュールするこのノード モジュールが気に入っています。

ここでは、異なるタイムゾーンにいるユーザーにプッシュ通知を送信する必要があります。特定の時間に通知を送信したいと考えています。

午後 9 時に通知を送信すると、リストされているすべてのタイムゾーンで cron ジョブが午後 9 時にトリガーされるとします。

var CronJob = require('cron').CronJob;
var job = new CronJob('00 30 11 * * 1-5', function() {
  /*
   * Runs every weekday (Monday through Friday)
   * at 11:30:00 AM. It does not run on Saturday
   * or Sunday.
   */
  }, function () {
    /* This function is executed when the job stops */
  },
  true, /* Start the job right now */
  timeZone /* Time zone of this job. */
);

私はこれをすべて知っており、ドキュメントに記載されているように、1 つのタイムゾーンに対して同じことを行っています。

timeZone - [オプション] - 実行のタイムゾーンを指定します。これにより、タイムゾーンに相対的な実際の時間が変更されます。

しかし、ここで timezone 属性に複数のタイムゾーンを指定できますか?

他のノードモジュールを知っている人がこれを達成できる場合は、教えてください。

:タイムゾーンごとにここで複数の構成を構成できることはすでに知っていますが、動的リストがある場合はどうなりますか。

4

1 に答える 1

0

タイムゾーンのリストを CRON ジョブに送信する方法はわかりませんが、cron ジョブ内で実行されるメソッドのロジックを変更できます。

あなたはこれを行うことができます:

  • 30 分ごとにジョブを実行する
  • 実行したい日であれば
  • select users where (現在の GMT 時刻をユーザーのタイムゾーンに変換 - データベースがこれを実行できる場合) > タイムゾーンの午前 11 時 30 分 && まだ通知を送信していない
  • 返されたユーザーに通知を送信します。

あなたはすでにこのルートをたどっているかもしれません...私の2cを投入するだけです

HTH

于 2015-11-05T04:17:31.327 に答える